我有一个服务,我用Python编写,允许用户安排任务以不同的时间间隔进行。的任务的示例将是:间隔时间安排任务的最佳工具?
- 任务A:做每10秒 状态检查
- 任务B:做一个状态检查为每3秒
- 任务C:做一个状态检查每15秒
任务应该彼此独立运行。我还想确保Task A
在上次尝试完成之前不能再次运行。请记住,任务的数量是动态的,因此在他们运行的时间间隔内。
我看过RabbitMQ,但是我很难决定它是否有这种能力。
我有一个服务,我用Python编写,允许用户安排任务以不同的时间间隔进行。的任务的示例将是:间隔时间安排任务的最佳工具?
任务应该彼此独立运行。我还想确保Task A
在上次尝试完成之前不能再次运行。请记住,任务的数量是动态的,因此在他们运行的时间间隔内。
我看过RabbitMQ,但是我很难决定它是否有这种能力。
我最近一直在使用芹菜来做你想做的事情。通过芹菜,您可以创建任务,这些任务实质上是分配给任务队列的功能。您还可以定期运行芹菜任务,无论这意味着每x秒还是更多的crontab风格的方法。
在芹菜文档中查找定期任务,看看它是否适合您正在尝试做的事情。芹菜使用rabbitmq或redis(主要)。每个任务都在主程序的独立线程中运行。
您应该设置几个任务队列,每个任务队列一个。然后,当你有一个新的任务要做,就把它放在队列中。这可以确保它们按照您选择的时间间隔顺序进行,并按顺序进行。
考虑Amazon Simple Queue Service (SQS)或Amazon Simple Workflow Service而不是维护您自己的RabbitMQ/Celery实例。