mistral/mistral/workflow
Renat Akhmerov 8306fa17eb Improve join by removing periodic jobs
* This patch removes the approach with DB polling needed to
  determine if a "join" task is ready to run. Instead of running
  a periodic scheduled job, each task completion now runs the
  algorithm that finds all potentially affected join tasks
  and schedules just one job (instead of a periodic job) to check
  their readiness.
  This solves a problem of system cascaded overloading in case of
  having many very large joins (when a workflow has many joins with
  many  dependencies each). Previously, in such case Mistral created
  too many periodic jobs that just didn't let the workflow progress
  well, i.e. most CPU was used by scheduler to run those periodic
  jobs that very rarely switched "join" tasks to the RUNNING state.

Change-Id: I5ebc44c7a3f95c868d653689dc5cea689c788cd0
Closes-Bug: #1799356
(cherry picked from commit 1a4c599a4d)
2018-10-24 10:39:45 +00:00
..
__init__.py Initial commit for the new engine 2014-08-06 16:24:26 +07:00
base.py Improve join by removing periodic jobs 2018-10-24 10:39:45 +00:00
commands.py Allow engine commands as task name 2018-07-19 14:23:18 +00:00
data_flow.py Do not copy workflow environment into subworkflows 2018-04-27 20:08:56 +07:00
direct_workflow.py Improve join by removing periodic jobs 2018-10-24 10:39:45 +00:00
lookup_utils.py Improve join by removing periodic jobs 2018-10-24 10:39:45 +00:00
reverse_workflow.py Improve join by removing periodic jobs 2018-10-24 10:39:45 +00:00
states.py add docs for states. 2018-07-12 08:50:52 +00:00
utils.py Add more use of mistral-lib in mistral 2017-06-20 15:23:18 +00:00