[求助]Celery 的定时任务,为什么看到定时执行的情况,但是感觉没有执行?

2015-03-12 18:12:39 +08:00
 RangerWolf
今天刚试用Celery。worker的模式已经正常,但是在beat 模式下,虽然看到每隔10秒就执行一次的记录,但是感觉task没有被执行。

@celery.task
def add(x, y):
str="a string to print to file"
f=open('out.txt','a')
print >>f,str
f.close()

上面是我的定义的task
在beat模式下面没看到有新的str输出到out.txt之中~

搞了很久也没搞定,哪位懂的能来帮忙看看吗?

对于定时任务,参考的是 http://www.metaltoad.com/blog/celery-periodic-tasks-installation-infinity

已google过,搞不定,有点想奔溃了。。。
6518 次点击
所在节点    Python
12 条回复
weyou
2015-03-12 19:07:03 +08:00
redis server有启动吗?
dongweiming
2015-03-12 21:56:52 +08:00
@RangerWolf 没有问题啊. 把你的celeryconfig.py和task.py粘出来吧
dongweiming
2015-03-12 21:59:18 +08:00
还有你的启动命令
kunimi
2015-03-12 22:05:47 +08:00
估计有很大可能是只启动了beat而没有同时启动worker,贴具体步骤吧。
Archangel_SDY
2015-03-12 23:06:12 +08:00
如果你用 RabbitMQ, 要保证至少有 100M 的磁盘空间, 上次被这个坑了好久.
RangerWolf
2015-03-13 07:38:17 +08:00
@weyou 有的~ 已经启动而且显示客户端链接数之类的
RangerWolf
2015-03-13 07:38:54 +08:00
@RangerWolf 用的redis做broker,mysql做backend。 磁盘空间也够,还有不到10G空间吧
RangerWolf
2015-03-13 07:39:07 +08:00
@Archangel_SDY 用的redis做broker,mysql做backend。 磁盘空间也够,还有不到10G空间吧
RangerWolf
2015-03-13 07:39:51 +08:00
@kunimi 目前就1个task。。。 应该不大啊
RangerWolf
2015-03-13 07:40:25 +08:00
@dongweiming 感谢!不知道这里是不是贴代码除了gist还有什么方便的办法?
0bit
2015-03-13 21:24:24 +08:00
把beat和worker分开,分成两个命令启动试试
RangerWolf
2015-03-13 22:41:41 +08:00
@0bit 确实是! 后来再继续google 发现Celery在windows还有不少坑!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/176426

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX