Open ispyhumanfly opened 5 years ago
This feature is mostly complete. However doesn't seem to work well with long running jobs. This is being addressed now so that hopefully 0.6.10 will have this fully operational.
This is working I believe. However we need to test this in a multi-node environment before I feel comfortable closing it.
There is a need for components to have the ability to schedule timed events. This is being implemented in a fairly sophisticated way in which at regular intervals Avian will check all components in an application to see if there are cron jobs that need to be executed. If so, they are added to a queue within Redis. Equally as often is a check being done by Avian where it looks to see if jobs are available to be ran from the queue, if so, it will assign a job worker (cpu core) on the application. If Avian is being ran in a distributed configuration, where there are multiple Avian's hosting the same application, these considerations to run cron jobs will be shared across the entire cluster.