Pha*_*inh 7 python django google-app-engine rabbitmq celery
我有一个 Celery 工作人员需要部署到 Google 应用程序引擎,这可能吗?我打算使用一个应用程序作为我的主要 Django 应用程序,一个应用程序用于 Celery Worker 和一个 Rabbitmq 服务(它由 Google 云支持)
我建议使用 App Engine Task Queue 而不是使用 Celery 任务队列。
您可以使用推送队列:
推送队列通过将 HTTP 请求传递到 App Engine 工作线程服务来运行任务。他们以可靠、稳定的速度调度这些请求,并保证可靠的任务执行。由于您可以控制从队列发送任务的速率,因此您可以控制工作线程的扩展行为,从而控制成本。
和拉队列:
拉取队列根本不调度任务。它们依赖于其他工作服务来主动从队列中“租用”任务。拉取队列为您提供了处理任务的时间和地点的更多功能和灵活性,但它们也要求您进行更多的流程管理。租赁任务时,租赁工作人员会宣布截止日期。当截止日期到来时,工作人员必须完成任务并将其删除,否则任务队列服务将允许其他工作人员租用该任务。