我有一个Celery工作人员需要部署到谷歌应用程序引擎,这可能吗?我打算用一个应用程序作为我的Django主应用程序,一个应用用于Celery worker和一个Rabbitmq服务(它由谷歌云支持(
我建议使用应用程序引擎任务队列,而不是使用Celery任务队列。
您可以使用推送队列:
推送队列通过向应用程序引擎工作程序传递HTTP请求来运行任务服务。他们以可靠、稳定的速度发送这些请求确保可靠的任务执行。因为你可以控制利率哪些任务是从队列中发送的,您可以控制工作人员伸缩行为,从而降低成本。
和Pull队列:
拉式队列根本不分派任务。他们依赖其他工人服务主动从队列中"租用"任务。拉队列为您提供了更大的权力和灵活性,可以在何时何地执行任务被处理,但它们也需要你做更多的处理经营当任务被租赁时,租赁工作人员声明最后期限截止日期到来时,工人必须完成任务并将其删除,否则任务队列服务将允许另一名工人将其出租。