芹菜击败Windows简单示例(不是Django)

2024-04-24 18:52:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我真的很难在Windows7上使用Celery Beat设置定期任务(不幸的是,这正是我目前正在处理的问题)。将使用celery的应用程序是用CherryPy编写的,因此Django库在这里并不相关。我要找的只是一个简单的例子,说明如何在后台启动芹菜拍打过程。FAQ部分有以下内容,但我还没能真正做到:

窗口

worker的-B/-beat选项不起作用?¶

回答:没错。把芹菜节和芹菜工人作为单独的服务。在

我的项目布局如下:

proj/
    __init__.py (empty)
    celery.py
    celery_schedule.py
    celery_settings.py (these work
    tasks.py

在芹菜.py公司名称:

^{pr2}$

在任务.py在

from __future__ import absolute_import

from proj.celery import app


@app.task
def add(x, y):
    return x + y

芹菜_日程表.py在

 from datetime import timedelta

 CELERYBEAT_SCHEDULE = {
     'add-every-30-seconds': {
          'task': 'tasks.add',
          'schedule': timedelta(seconds=3),
          'args': (16, 16)
     },
 }

从命令行(从“proj”的父目录)运行“celeri worker--app=proj-l info”可以很好地启动worker线程,我可以从Python终端执行add任务。但是,我就是不知道如何启动beat服务。显然,语法可能也不正确,因为我还没有通过缺少的--beat选项。在


Tags: frompyimportaddapptask选项timedelta
1条回答
网友
1楼 · 发布于 2024-04-24 18:52:43

只需通过一个新的终端窗口启动另一个进程,确保您在正确的目录中,并执行命令celerybeat(beat关键字前面不需要'')。在

如果这不能解决您的问题,重命名您的芹菜_日程表.py归档到芹菜配置.py包括在你的芹菜.py文件格式:app.config_从_对象('celeryconfig')就在您的姓名上方==main

然后产生一个新的芹菜打浆过程:芹菜打浆

相关问题 更多 >