这个问题涉及在不同的机器上使用多个远程Celery工作者。应用程序的实现可以概括为:
我的应用程序(生产者)将每5分钟向队列添加多个任务(比如50个)(想象一下Python的for循环迭代要异步执行的任务列表,每隔5分钟执行一次)。我希望Celery工作者(将是远程机器)在任务被推送时立即接受这些任务。
我的问题是,Celery / RabbitMQ是否会自动处理任务分配(以确保没有工作者选择已经被队列中的工作者选择的任务 - 即确保不会重复工作),并平均分配任务,以便没有工作者闲置而其他工作者努力工作,还是必须在设置中进行配置/编程?
如果有人能向我提供相关文档,我将不胜感激(我正在查看Celery文档,但在此上下文中找不到有关远程Celery工作者的特定信息)。
我的问题是,Celery / RabbitMQ是否会自动处理任务分配(以确保没有工作者选择已经被队列中的工作者选择的任务 - 即确保不会重复工作),并平均分配任务,以便没有工作者闲置而其他工作者努力工作,还是必须在设置中进行配置/编程?
如果有人能向我提供相关文档,我将不胜感激(我正在查看Celery文档,但在此上下文中找不到有关远程Celery工作者的特定信息)。