flypapertech / avian

Create Enterprise-class component driven applications that scale.
MIT License
4 stars 0 forks source link

Ability for individual components to have cron jobs executed #31

Open ispyhumanfly opened 5 years ago

ispyhumanfly commented 5 years ago

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.

ispyhumanfly commented 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.

ispyhumanfly commented 4 years ago

This is working I believe. However we need to test this in a multi-node environment before I feel comfortable closing it.