- 14 Mar, 2017 4 commits
-
-
Philippe Pepiot authored
-
Philippe Pepiot authored
-
Philippe Pepiot authored
-
Philippe Pepiot authored
"running" is a state, not a transition.
-
- 22 Feb, 2017 4 commits
-
-
Florent Cayré authored
-
Florent Cayré authored
-
Florent Cayré authored
-
Florent Cayré authored
Closes #17057660.
-
- 20 Feb, 2017 3 commits
-
-
Florent Cayré authored
-
Florent Cayré authored
-
Florent Cayré authored
-
- 16 Feb, 2017 4 commits
-
-
Philippe Pepiot authored
This test the fix in cw-celerytask-helpers: https://www.cubicweb.org/patch/17056309
-
Philippe Pepiot authored
Previous cset was rebased and published. Also remove the '#egg=cw-celerytask-helpers' since it's only used for git or hg urls.
-
Philippe Pepiot authored
PROGRESS is a custom state used to handle progress bar in views. When we receive PROGRESS, fire transition 'running' (if possible).
-
Philippe Pepiot authored
-
- 17 Jan, 2017 3 commits
-
-
Philippe Pepiot authored
Convention is to return a dict with a key "celerytask_subtasks". So we can remove a "except Exception" that could hide errors or future bugs.
-
Philippe Pepiot authored
Set CW_CONNECTIONS_POOL_SIZE to 1 (by default) to only use one connection to the database (no more is needed since it's single threaded). Setting the parameter in the "config" object could not work since CubicWeb reload it from config files when loading cubes.
-
Philippe Pepiot authored
When multiple instance of celery-monitor are running, we could have an integrity errors raised if two instance are working on the same task_id or temporary (network, host) failures. In this case we want to retry handling the task_id later. Put pending processed task_id in a "pending queue" and each minutes and if the monitor queue is empty, requeue pending items. This change require to handle the "timeout" parameter of loop (only used in tests) in a different way to ensure not blocking forever in redis "brpoplpush".
-
- 16 Jan, 2017 2 commits
-
-
Philippe Pepiot authored
bump version to 0.4.0.dev0
-
Philippe Pepiot authored
IMHO this looks better than "if rset". Also log created entity eid.
-
- 17 Jan, 2017 1 commit
-
-
Philippe Pepiot authored
We should not stop celery-monitor in case of temporary unavailability of redis or cubicweb database. Handle errors and automatically retry each 5 seconds.
-
- 16 Jan, 2017 3 commits
-
-
Philippe Pepiot authored
This usecase (sending a serialized task signature as result of a task) is exceptional, so avoid flooding the logs with such messages.
-
Philippe Pepiot authored
Previously we handle monitoring celery task by listening to celery event bus (celery.events.EventReceiver) that was not persistent. In this case we used a dedicated routine (on_monitor_start) to synchronize non finished tasks, but this wasn't working in case of an untracked task (eg. not started with start_async_task). Also this was a single point of failure because it cannot run in multiple instance without concurrency issues (events are sent to all instances) Now we use a redis queue where worker put task_id and task_name to be synchronized and celery-monitor use brpop (https://redis.io/commands/brpop) to process the queue. We don't require CELERY_SEND_EVENTS to be enabled anymore (-E or --events in worker options). We require to add 'cw_celerytask_helpers.helpers' to CELERY_IMPORTS.
-
Philippe Pepiot authored
- strict policy on sql transaction (commit all or nothing for each task) - make it work with on_monitor_start (used to synchronize task states when monitor starts in case of missing events) - Use serializable() in "spawn" task so it force celery to use the json task serializer instead of pickle - Don't always update task_name when creating subtasks outside of celerytask (eg. by using start_async_task), use a fixed identifier "<unknown>" as task name instead and only update these.
-
- 02 Jan, 2017 3 commits
-
-
Philippe Pepiot authored
The view was called once and then being redirected to incontext view by javascript code when task state changed. Give the current vid to call on state change instead.
-
Philippe Pepiot authored
Add a method entity_content() to implement difference between incontext and outofcontext views.
-
Philippe Pepiot authored
-
- 16 Dec, 2016 4 commits
-
-
David Douard authored
-
David Douard authored
-
David Douard authored
Do not create a CeleryTask if no worker has aknowledge the said task.
-
David Douard authored
-
- 14 Dec, 2016 1 commit
-
-
David Douard authored
-
- 06 Dec, 2016 1 commit
-
-
David Douard authored
-
- 15 Nov, 2016 1 commit
-
-
Florent Cayré authored
celery.result.from_serializable is no more present in 4.x
-
- 06 Dec, 2016 1 commit
-
-
David Douard authored
it may occur that a transition cannot be fired due to a hook triggered by a previous transition. Especially the on_monitor_start() was prone to this kind of error since it was doing all the transitions in a single transaction.
-
- 15 Nov, 2016 1 commit
-
-
Florent Cayré authored
-
- 12 Dec, 2016 1 commit
-
-
David Douard authored
[entities] improve workflow management of CeleryTasks (by celery-monitor) robustness (related to #16640842) the transition may fail (if for some race-like reasons it has already been fired). Also ensure some CeleryTask changes are commited (celery-monitor) since the transaction may be rolled back during the WF management part of the on_event() method.
-
- 04 Nov, 2016 3 commits
-
-
David Douard authored
including all the children subtasks' progress values
-
David Douard authored
the celery configuration stuff for tests is not needed there
-
David Douard authored
that returns an iterator on all parents recursively
-