推荐学习书目
› 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
334862132
V2EX  ›  Python

django 的定时任务不执行异步操作么

  •  
  •   334862132 · Mar 12, 2019 · 3620 views
    This topic created in 2764 days ago, the information mentioned may be changed or developed.
    最近有个需求需要定时任务去执行,但是看现在执行的定时任务太多顺手就做了个异步把这个定时任务嵌在了别的定时任务后面,昨天刚上线,结果今天一看定时任务原任务执行了,我的发送邮件任务竟然没执行,求解答 ,代码没问题,我手动执行一次那定时任务立刻就收到邮件了
    上代码

    from concurrent.futures import ThreadPoolExecutor
    executor = ThreadPoolExecutor() # 异步
    异步嵌入这么写的
    executor.submit(mail)
    这个异步是没问题的,因为我以前异步全是这么写的,线上也正常运行,没有问题
    6 replies  •  2019-03-12 14:42:46 +08:00
    cs8814336
        1
    cs8814336  
       Mar 12, 2019   ❤️ 1
    那可能就是要看你的这段代码有没运行到了. 我这边 django 定时任务使用 crontab 做的.. 异步任务可以用 celery
    ynkkdev
        2
    ynkkdev  
       Mar 12, 2019   ❤️ 1
    我也感觉是代码没有执行到这里?我的定时任务也是用 celery 做的,管理起来也还好
    334862132
        3
    334862132  
    OP
       Mar 12, 2019
    @cs8814336
    django 的定時任务本身就是通过 django 系统写入 linux 里面 跟 linux 执行有关,跟 django 运行不允许无关的 我们没用 celery 要是自己做还要添加新模块 比较麻烦的
    334862132
        4
    334862132  
    OP
       Mar 12, 2019
    @youngce 我感觉也是代码没执行到这
    xpresslink
        5
    xpresslink  
       Mar 12, 2019   ❤️ 1
    楼主的说法不能让人理解啊。不知道你是不是用的 django-crontab ?哪个玩意儿是依赖于 Linux 操作系统的 crontab 的。
    外部调用 django 下的程序脚本的时候要初始化 django 运行环境才能正常工作。
    如果你要定时任务和异步任务两种操作,最好还是上 celery 比较可靠。
    同时结合 django 的 signal 机制来实现一些有前后依赖关系的任务。
    cs8814336
        6
    cs8814336  
       Mar 12, 2019
    @334862132 你这句话的标点符号看的我有点蒙...我说的那个定时任务是, 通过 crontab 定时执行 py 脚本, 这个 py 脚本可以复用到 django 的 model(当然这样就是要初始化 django 运行环境了). 这样 crontab 就是 linux 系统自己的调度了.相关调度日志也是可以查看系统日志.
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1126 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 17:06 · PVG 01:06 · LAX 10:06 · JFK 13:06
    ♥ Do have faith in what you're doing.