【问题标题】:How to deploy a Celery worker on Google app engine如何在 Google 应用引擎上部署 Celery worker
【发布时间】:2019-11-15 11:00:57
【问题描述】:

我有一个 Celery 工作者需要部署到 Google 应用引擎,可以吗? 我打算将一个应用程序用于我的主要 Django 应用程序,一个用于 Celery worker 的应用程序和一个 Rabbitmq 服务(由 Google 云支持)

【问题讨论】:

    标签: python django google-app-engine rabbitmq celery


    【解决方案1】:

    我建议不要使用 Celery 任务队列,而是使用 App Engine Task Queue

    你可以使用Push queues:

    推送队列通过向 App Engine 工作线程发送 HTTP 请求来运行任务 服务。他们以可靠、稳定的速度发送这些请求,并且 保证可靠的任务执行。因为你可以控制速率 从队列中发送哪些任务,您可以控制工作人员的 扩展行为,从而影响您的成本。

    Pull queues:

    拉队列根本不分派任务。他们依赖其他工人 服务主动从队列中“租用”任务。拉 队列为您在何时何地执行任务提供了更多的权力和灵活性 已处理,但它们还需要您进行更多处理 管理。当一项任务被租用时,租赁工人声明一个 最后期限。到最后期限到来时,工人必须要么 完成任务并将其删除,否则任务队列服务将允许 另一个工人出租它。

    【讨论】:

    • 此答案基于已弃用的技术。
    • @DaanLuttik 那么你建议我们使用什么来代替Taskqueue?
    • @UdayReddy 我相信原始问题描述的场景是可能的。也可以考虑pubsub
    猜你喜欢
    • 2021-03-16
    • 2011-12-05
    • 1970-01-01
    • 1970-01-01
    • 2019-10-10
    • 2020-04-26
    • 1970-01-01
    • 2017-05-08
    • 1970-01-01
    相关资源
    最近更新 更多