Skip to content

Evolution mutualize

Stéphane Brunner edited this page Jun 20, 2023 · 8 revisions

Goals

  • don't have one general queue for all the projects => one project can't block all the other projects
  • add retry possibility
  • be able to have a task list for the project
  • be able to have a "report" of a task
  • be able to retry all the failed tiles of a task
  • be able to support OGC API Process https://ogcapi.ogc.org/processes/

Structure

flowchart TD
    p(projects list[str])
    pi(projects_index int)
    t(tasks_<project> list[task])
    ti(tasks_<project>_index int)
    q(queue_<id>)
    pi-->p
    ti-->t
    p-- n -->t
    t-- n -->q
Loading

Task

cmd: command used to generate the tash
date: creation date
status: (progress|error|terminated)
queue_id: number

Slave

while true:
  inc projects_index  
  get value of projects_index
  get project name on project[projects_index]
  inc tasks_<project>_index
  get queue_id on tasks_<project>[tasks_<project>_index]
  get queue on queue[queue_id]
  get item on queue
  process item
  manage xclame
  put error on task_error_<queue_id>
Clone this wiki locally