RT,客户端和服务端应该已经实行了 NTP 同步:
# service ntp restart
# ntpdate pool.ntp.org
9 Jan 08:28:19 ntpdate[8247]: the NTP socket is in use, exiting
Server 和 client 端的相关配置:
CELERY_TIMEZONE = 'Asia/Shanghai'
CELERY_ENABLE_UTC = False
#这里标识下,CELERY_ENABLE_UTC True 和 False 都试过了,没用
本地 worker 运行时的时间:
celery -A test worker -E -l INFO -n hostA --concurrency=2
[2019-01-09 08:29:04,904: INFO/MainProcess]
server 端运行 flower 时,命令行显示的时间:
celery -A test flower --port=5555
[W 190109 08:29:04 state:122] Substantial drift from celery@test may mean clocks are out of sync. Current drift is 57600 seconds. [orig: 2019-01-09 08:29:04.870091 recv: 2019-01-10 00:29:04.931890]
然鹅,在 flower 的 web 界面上,显示我某个卡住的任务是在 57600s 后的未来接受的任务,然后就一直 starting 卡在那儿了。 后来 Ctrl+c 才开始执行,报了个 broker 超时重连,然后把这个卡住的任务跑完了,才停止。 其实这里也没搞明白为啥。
我猜测是因为这个任务开始时间超过了我任务,我的 soft_time_limit 也没有起作用。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.