V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
fourstring
V2EX  ›  Python

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

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

    @abelyao 看错了~~~
    nisbme
        11
    nisbme  
       2016-03-05 23:37:33 +08:00
    https://github.com/dbader/schedule
    搜了一下,这个可以吗
    clino
        12
    clino  
       2016-03-05 23:43:08 +08:00 via Android
    buildbot
    slixurd
        13
    slixurd  
       2016-03-06 00:00:51 +08:00
    这两天在用 shell 做这事,用 sleep 控制时间,毕竟 sleep 可以带浮点数。
    然后中间的任务丢到 nohup 里
    也试过( command &),直接&
    我只能说效果挺差的。
    感觉 Python 用 sleep 也不会有什么好的效果。
    keakon
        14
    keakon  
       2016-03-06 14:00:46 +08:00
    不用第三方库,代价最低的应该是用 signal 。
    keakon
        15
    keakon  
       2016-03-06 14:08:03 +08:00
    jamiesun
        16
    jamiesun  
       2016-03-06 15:43:26 +08:00
    定时任务设计不要靠循环检测是否到了执行时间,更好的方法是计算下一次执行时间点与当前时间点的间隔时间。
    kkzxak47
        17
    kkzxak47  
       2016-03-07 14:23:55 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1625 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:43 · PVG 00:43 · LAX 08:43 · JFK 11:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.