Every time and CPU consuming operation should be placed on the task queue.
Few things to consider:
On addition, unique task-id should be returned and saved to database along with input data and options we have chosen.
Configuration option where we pick how many workers we would like to be spawned and process our tasks at once.
New UI page with a list of currently queued tasks, passed arguments and maybe a few finished with results? Ability to cancel current job (kill), remove others.
Button/API call with ability to skip queue - for example, when we process a small area and need a results asap.
In case of current implementations, it might be required to create two-way communication between Koji and Golbat / Dragonite - so when tasks are sent by Golbat, Koji would call it back with results. Otherwise, additional calls with task-id might be sent in a loop till we get an answer.
Every time and CPU consuming operation should be placed on the task queue.
Few things to consider:
task-id
should be returned and saved to database along with input data and options we have chosen.skip queue
- for example, when we process a small area and need a results asap.In case of current implementations, it might be required to create two-way communication between Koji and Golbat / Dragonite - so when tasks are sent by Golbat, Koji would call it back with results. Otherwise, additional calls with
task-id
might be sent in a loop till we get an answer.