argos/README.md

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.