mirror of
https://framagit.org/framasoft/framaspace/argos.git
synced 2025-04-28 18:02:41 +02:00
24 lines
No EOL
845 B
Markdown
24 lines
No EOL
845 B
Markdown
# On service start.
|
|
|
|
1. Read the job definitions file and populate the database.
|
|
2. From the job definition, create a list of tasks to execute.
|
|
3. From time to time (?) clean the db.
|
|
|
|
# On configuration changes :
|
|
- Find and tombstone the JobDefinitions that are not useful anymore.
|
|
- Cascade delete the child tasks that are planned. Tombstone them as wel.
|
|
|
|
# On worker demand :
|
|
- Find the tasks for which :
|
|
- last_check is not defined
|
|
- OR last_check + max_timedelta > datetime.now()
|
|
- AND selected_by not defined.
|
|
- Mark these tasks as selected by the current worker, on the current date.
|
|
|
|
# From time to time:
|
|
- Check for stalled tasks (datetime.now() - selected_at) > MAX_WORKER_TIME. Remove the lock.
|
|
|
|
# On the worker side
|
|
Hey, I'm XX, give me some work.
|
|
<Service answers>
|
|
OK, this is done, here are the results for Task<id>: response. |