redhat-performance / quads

:calendar: The infrastructure deployment time machine
https://quads.dev
GNU General Public License v3.0
88 stars 36 forks source link

QUADs daemon - Deprecate heavy use of cron #88

Open jtaleric opened 7 years ago

jtaleric commented 7 years ago

Using the QUADs daemon we could spawn a worker thread on an interval (60 minute?), this thread could check the current schedule.

This worker could check if there are hosts to :

sadsfae commented 7 years ago

Related RFE here in Milestones 1.1 and 2.0 (address same features)

https://github.com/redhat-performance/quads/issues/140 https://github.com/redhat-performance/quads/issues/156

sadsfae commented 6 years ago

We'll need a proper messagebus / worker architecture here. I've re-purposed #140 and #156 to tackle the more immediate enhancements we need to get there first.

Something like Celery / RabbitMQ may be what we're after long-term to become event-driven and not need to have cron in the mix.

sadsfae commented 5 years ago

We're looking into celery and in some cases asyncio for this since we're on Python3 now with 1.1. Keeping this open and targeted for 2.0 milestone.

grafuls commented 1 year ago

Been doing some research on this and I think celery might be a bit of an overkill as we would require a broker and a backend (Redis for both) for it to run and the scope of celery is more for long running async tasks on a queue which we might not take full advantage of with the Quads workflow. There are several other tools we can use instead like python3-APScheduler which is available via rpm or the less available schedule or the python standard library sched.