芹菜店的任务功能在哪里?

时间:2015-12-10 09:06:12

标签: django celery

有一个Django应用程序通过celery + kombu + Oracle运行定期任务。我花了一些时间,直到注意到要更改任务代码芹菜工作者需要重新启动,而不是Django服务器(uWSGI)。

问题是,芹菜在哪里存储代码?某种缓存还是什么?

2 个答案:

答案 0 :(得分:2)

Celery运行多个工作进程,与django服务器进程分开。 这些进程将python代码加载到内存中并执行它。他们继续跑,直到关闭。 如果更新磁盘上的python代码,正在运行的进程将无法获取更改 - 您需要重新启动它们。

答案 1 :(得分:1)

Celery系统由一个或多个(通常是python)进程组成,这些进程将您的方法/任务加载到内存中。

与启动交互式shell相同。如果你这样做:

>>> from spam import eggs

eggs将被分配到内存插槽。如果您编辑eggs,则必须重新启动shell以查看更改。