Long Running Jobs: These are jobs that take several minutes or hours to execute. Â
Multi-step Async Tasks: This is a task consisting of multiple steps. An example is as follows:
Scenario 1
A developer could develop an action executor that configures async behaviour by listening to an external event (example: register to message queue, or prepare to receive a REST request) to continue progress and finally complete / fail / cancel the job.
Scenario 2
A developer could develop an action executor that configures async behaviour via an active component, that needs to be run periodically in order to retrieve the current status and finally complete / fail / cancel the job.
Example: Periodically polling a third party service in order to retrieve the status of a job.
JEF currently supports the infrastructure for both these scenarios. However, in scenario 2 we have provided an ActionProgress
mechanism which can help with implementation.