我在 Mac OS X (10.8.4) 中有一个 Django 项目,其中有一个打算为机场建模的应用程序。在数据库 SQLite 中,我有几张表,其中一张用于航班延误(航班、日期、新小时、原因)。
我的目标是使用 Celery 执行某些任务,例如通知用户航班延误和删除不再有效的延误。为此,我认为我会将 Celery worker 作为守护进程运行,但是在尝试阅读有关如何执行此操作的文档时遇到了巨大的问题。
所以我按照说明如何配置我的 Django 项目以使用 Celery、定义和调用任务、启动工作进程和调用任务。我的项目中有一个名为 celerytest 的额外应用程序和一个如下所示的 tasks.py 文件:
from celery import task
from flughafen.models import Country, Airline, Aircraft, Airport, Flight, Reservation, CheckIn, Delay
@task()
def delete_delays():
# code to retrieve delays which are no longer valid and to delete them
我可以根据此处给出的说明调用此任务。但是,当我阅读将工作人员作为守护进程运行的说明时,我不清楚该怎么做。
该文档提到了 Mac OS X 的链接,该链接将我重定向到 github 页面,其中有一些我应该使用 launchctl 加载的 plist 文件。我已经下载并加载了它们,但它们显示为退出状态:
octavio:daemon ohd$ launchctl load org.celeryq.celerybeat.plist
octavio:daemon ohd$ launchctl load org.celeryq.celeryd.plist
octavio:daemon ohd$ launchctl load org.celeryq.celerymon.plist
octavio:daemon ohd$ launchctl list | grep celery
- 2 org.celeryq.celerymon
- 2 org.celeryq.celeryd
- 2 org.celeryq.celerybeat
我想我缺少一些像这样或这样的配置,但我不确定它应该放在哪里。
谁能给我建议?
谢谢。