Python:Celery,我怎样才能让它在后台运行?
Posted
技术标签:
【中文标题】Python:Celery,我怎样才能让它在后台运行?【英文标题】:Python : Celery, How can I make it run in background? 【发布时间】:2017-03-14 00:11:12 【问题描述】:我在 Ubuntu 中使用 celery、python 3 和 supervisor。
我一直在努力制作一个新的 API,它将使用 PIL(Pillow) 从 Internet 获取图像并将其保存在服务器中。
但是问题是我使用 Celery 作为调度程序,并且在原始 API 中它会在一毫秒内返回结果,但是当我使用 PIL 时,等待几乎变成一秒。
因此,作为一种解决方案,我正在寻找一种让 Celery 工作人员在后台运行的方法。
有可能吗?
【问题讨论】:
PIL 是在你的 API 处理程序中使用还是在 celery worker 运行的函数中使用? @avichalp 是的,由 celery 运行 @avichalp 所以由于 api 不在后台执行,我必须强制调用 celery 并使其在后台工作,我想知道强制调用 celery 是可能的。 我不明白。在您描述的场景中,芹菜已经在后台运行。你还想要什么? 【参考方案1】:你可能想要守护你的 Celery worker。
如果您按照 Celery running the worker as a daemon 文档中提供的步骤进行操作,您将能够做到这一点。
这是一个有点复杂的过程,但它会让 Celery worker 在后台运行
【讨论】:
以上是关于Python:Celery,我怎样才能让它在后台运行?的主要内容,如果未能解决你的问题,请参考以下文章
Self-Hosted Github Runner:在作业中启动一个后台服务器进程,让它在作业结束后运行
对于使用 Python 的 Selenium,我怎样才能让它按 CTRL、SHIFT、i?
在 ipython 下 Python 2.7 中的 KeyboardInterrupt 不可预测,我怎样才能让它*总是*中止当前评估?