Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在windows上运行芹菜节拍-任务不可能?_Python_Windows_Celery_Celerybeat - Fatal编程技术网

Python 在windows上运行芹菜节拍-任务不可能?

Python 在windows上运行芹菜节拍-任务不可能?,python,windows,celery,celerybeat,Python,Windows,Celery,Celerybeat,我一直坚持在Windows7(以及更高版本的2013服务器)上使用redis作为后端运行芹菜3.1.17 在我的芹菜.py文件中,我定义了一个带有一个计划任务的应用程序 app = Celery('myapp', backend='redis://localhost', broker='redis://localhost', include=['tasks'] ) app.conf.update( CELERYBEAT_SCHED

我一直坚持在Windows7(以及更高版本的2013服务器)上使用redis作为后端运行芹菜3.1.17

在我的
芹菜.py
文件中,我定义了一个带有一个计划任务的应用程序

app = Celery('myapp', 
        backend='redis://localhost', 
        broker='redis://localhost',
        include=['tasks']
  )

app.conf.update(
    CELERYBEAT_SCHEDULE = { 
        'dumdum': { 
          'task': 'tasks.dumdum', 
          'schedule': timedelta(seconds=5),
        }
      }
)
任务是将一行写入文件

@app.task
def dumdum():
    with open('c:/src/dumdum.txt','w') as f:
        f.write('dumdum actually ran !')
从命令行运行beat服务

(venv) celery beat -A tasks
celery beat v3.1.17 (Cipater) is starting.
__    -    ... __   -        _
Configuration ->
    . broker -> redis://localhost:6379/1
    . loader -> celery.loaders.app.AppLoader
    . scheduler -> celery.beat.PersistentScheduler
    . db -> celerybeat-schedule
    . logfile -> [stderr]@%INFO
    . maxinterval -> now (0s)
[2015-03-15 10:50:33,265: INFO/MainProcess] beat: Starting...
[2015-03-15 10:50:35,496: INFO/MainProcess] Scheduler: Sending due task dumdum (tasks.dumdum)
[2015-03-15 10:50:40,513: INFO/MainProcess] Scheduler: Sending due task dumdum (tasks.dumdum)
看起来很有希望,但什么也没发生。未将任何内容写入文件

从2011年开始,on runnig击败windows参考。本文介绍了如何在windows上作为调度程序任务运行
celeryd
celeryd
已被弃用,文章中所述的命令不再有效(没有
celery.bin.celeryd
模块)

那么,这里的解决方案是什么


谢谢

我使用以下命令在windows上运行芹菜节拍:

python manage.py芹菜节拍

完成以下安装步骤后:


这对我来说非常好

你有一个真正的工人在运行吗?Celery beat不执行任何任务,它只在适当的时候对它们进行排队。打开终端并运行
Celery worker-a tasks-l info
,它将启动一个worker实例,并开始消耗刚刚排队的任务。