【发布时间】:2019-11-15 11:00:57
【问题描述】:
我有一个 Celery 工作者需要部署到 Google 应用引擎,可以吗? 我打算将一个应用程序用于我的主要 Django 应用程序,一个用于 Celery worker 的应用程序和一个 Rabbitmq 服务(由 Google 云支持)
【问题讨论】:
标签: python django google-app-engine rabbitmq celery
我有一个 Celery 工作者需要部署到 Google 应用引擎,可以吗? 我打算将一个应用程序用于我的主要 Django 应用程序,一个用于 Celery worker 的应用程序和一个 Rabbitmq 服务(由 Google 云支持)
【问题讨论】:
标签: python django google-app-engine rabbitmq celery
我建议不要使用 Celery 任务队列,而是使用 App Engine Task Queue。
你可以使用Push queues:
推送队列通过向 App Engine 工作线程发送 HTTP 请求来运行任务 服务。他们以可靠、稳定的速度发送这些请求,并且 保证可靠的任务执行。因为你可以控制速率 从队列中发送哪些任务,您可以控制工作人员的 扩展行为,从而影响您的成本。
拉队列根本不分派任务。他们依赖其他工人 服务主动从队列中“租用”任务。拉 队列为您在何时何地执行任务提供了更多的权力和灵活性 已处理,但它们还需要您进行更多处理 管理。当一项任务被租用时,租赁工人声明一个 最后期限。到最后期限到来时,工人必须要么 完成任务并将其删除,否则任务队列服务将允许 另一个工人出租它。
【讨论】: