7 ms·
We used Celery and it was a major pain point for us. At the time (it was a couple of years back) there was no way to stop it from taking 2 tasks at a time from
by aidos 9y ago
We used Celery and it was a major pain point for us.
At the time (it was a couple of years back) there was no way to stop it from taking 2 tasks at a time from the queue. We have a smaller number of long running tasks and it made it very difficult to scale out the work. Also, the monitoring story was pretty rubbish and debugging was hard.
Now we use RQ, which is mostly pretty good but we've been slowly adjusting parts of it's behaviour to make it more suitable for us. Recently, we did some work around how it does it's TTL so we could more quickly see where workers had terminated abnormally.
We've also changed it so a given worker instance will become increasingly unlikely to take on new work as the machine it's running on (AWS) nears the end of the hour since it was started. As the work load lowers, we can remove workers from the system in the most cost effective way.
- cjhanks 9y agoCertainly, the EC2 instance time-until-nearest-hour should be integrated into virtually every service which queues or has priority.