异步 celery 任务完成后自动调用 PHP 代码(celery-php)

Posted

技术标签:

【中文标题】异步 celery 任务完成后自动调用 PHP 代码(celery-php)【英文标题】:Automatically invoking PHP code after asynchronous celery task is finished (celery-php) 【发布时间】:2014-05-04 11:57:53 【问题描述】:

我正在使用 Celery 来安排异步任务(处理时间 = 2-3 分钟)(这些任务是在 python 中实现的,但是它们是使用celery-php 从 PHP 代码委派的),它工作正常,直到我需要在任务完成后自动处理一些 PHP 代码,所以我不能只向 Celery 发送请求以获取结果。

但是,我通过在 celery 任务的处理结束时发送 HTTP 请求来解决此问题,我知道这很糟糕,因为它可能会在 PHP 服务器上造成瓶颈(更不用说需要一些维护的安全问题)。

我的问题是:有什么方法可以使用它正在使用的相同后端从 Celery 调用 PHP 代码,并将 PHP 代码作为被动参与者?如果没有,有没有办法以与任务本身相同的方式安排此调用以避免性能开销?

【问题讨论】:

【参考方案1】:

这可能会回答您的问题http://comments.gmane.org/gmane.comp.python.amqp.celery.user/3954。 如果可能的话,我还建议考虑用 Python 重写 PHP 代码的可能性。

【讨论】:

以上是关于异步 celery 任务完成后自动调用 PHP 代码(celery-php)的主要内容,如果未能解决你的问题,请参考以下文章

Celery异步的分布式任务调度理解

Celery-一个会做异步任务,定时任务的芹菜

Django中使用celery完成异步/耗时/后台任务

python3+celery+redis实现异步任务

Web开发之旅--Flask使用Celery执行异步任务

Celery