如何使用Celery配置不同的工作池?
我需要部署一个排队执行的服务,通常会有以下三种类型的工作者:
一种定期的、优先级较低的工作类型,这种工作需要很长时间来完成,可以一个接一个地处理;这些工作在系统中最多只需要使用0到2个工作者。
一种定期的、对截止时间敏感的工作类型,这种工作需要短到中等的时间(比如,最多5分钟)。
一种临时的工作类型,优先级高于第一种,但可以和第二种交替进行。当这种工作到来时,任何在此时处于空闲状态的第二类工作者都应该来处理它,但不能让第二类工作者完全没有工作。
这三种工作类型其实是同样的任务,唯一的区别在于它们是如何被请求的;它们会使用相同的输入并生成相同的输出,但每种类型的性能保证是不同的。
我该如何使用celery来实现这个呢?