Python3 有什么好的秒级定时执行方案?

2016-03-05 18:14:45 +08:00
 fourstring
4761 次点击
所在节点    Python
17 条回复
Strikeactor
2016-03-05 18:18:21 +08:00
开个线程 while true sleep 1
icedx
2016-03-05 18:19:40 +08:00
Timer
ethego
2016-03-05 18:20:28 +08:00
celery
lixiaohan
2016-03-05 18:24:36 +08:00
schedual
dbdd
2016-03-05 19:03:37 +08:00
sleep
cevincheung
2016-03-05 19:07:04 +08:00
守护进程无疑是最好的了。关键看是什么任务要每秒执行一次?
lebowsk1s
2016-03-05 19:56:30 +08:00
APS 不记得是否支持 3
abelyao
2016-03-05 20:39:27 +08:00
@cevincheung 精确到秒,不等于每秒执行一次。
fourstring
2016-03-05 20:56:35 +08:00
@cevincheung 请问守护进程这方面的,要看什么书?
我想把之前有人做过的 telegram 上玩 life line 的机器人再重拾起来,而且之前他没有实现定时器,但是 life line 里有的动作是间隔数 s 的
cevincheung
2016-03-05 21:11:31 +08:00
@fourstring
就是 while true 咯~~
中间加个 redis 做个处理队列嘛或者 MQ 可以指定时间也行啊

@abelyao 看错了~~~
nisbme
2016-03-05 23:37:33 +08:00
https://github.com/dbader/schedule
搜了一下,这个可以吗
clino
2016-03-05 23:43:08 +08:00
buildbot
slixurd
2016-03-06 00:00:51 +08:00
这两天在用 shell 做这事,用 sleep 控制时间,毕竟 sleep 可以带浮点数。
然后中间的任务丢到 nohup 里
也试过( command &),直接&
我只能说效果挺差的。
感觉 Python 用 sleep 也不会有什么好的效果。
keakon
2016-03-06 14:00:46 +08:00
不用第三方库,代价最低的应该是用 signal 。
keakon
2016-03-06 14:08:03 +08:00
jamiesun
2016-03-06 15:43:26 +08:00
定时任务设计不要靠循环检测是否到了执行时间,更好的方法是计算下一次执行时间点与当前时间点的间隔时间。
kkzxak47
2016-03-07 14:23:55 +08:00

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

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

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

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

© 2021 V2EX