askask
V2EX  ›  Django

django 如何执行定时任务,定时执行脚本,或者定时调用 django 中的一个 views

  •  
  •   askask · Mar 22, 2016 · 6214 views
    This topic created in 3728 days ago, the information mentioned may be changed or developed.

    需求:

    能在 django 前端修改任务开始和结束的时间。

    9 replies    2016-03-23 10:50:56 +08:00
    loading
        1
    loading  
       Mar 22, 2016 via Android
    crontab
    lyhapple
        2
    lyhapple  
       Mar 22, 2016
    安装 django-cron 库,然后写你自己的 task ,再去 linux 里执行 corntab -e 编辑定时任务脚本,将任务注册到服务器。
    qq316107934
        3
    qq316107934  
       Mar 22, 2016
    thread.run while(flag) time.sleep
    askask
        4
    askask  
    OP
       Mar 22, 2016
    @lyhapple 有简单的实例参考一下吗?
    askask
        5
    askask  
    OP
       Mar 22, 2016
    @lyhapple http://my.oschina.net/vincent67/blog/177469 我如何按照这个的话 貌似不能我自定义开始和结束的时间呀。
    jixiangqd
        6
    jixiangqd  
       Mar 22, 2016
    @askask 使用 celery ,动态添加任务能满足需求吗?
    askask
        7
    askask  
    OP
       Mar 22, 2016
    @jixiangqd 看了下文章 感觉 celery 很麻烦? 需要 redis ?
    chenxytw
        8
    chenxytw  
       Mar 22, 2016
    @askask crontab 执行的不是具体任务,可以认为是一个任务执行器,设为 A 吧,它按照你可以修改的时间的最小粒度进行定时,比如你可以编辑的最小粒度是 5 分钟,那 A 可能是 2 分钟执行一次。
    而 A 执行的逻辑是,读取你需要真正执行的任务,然后运行对应的代码或者脚本什么的。
    至于这些可编辑的任务的信息是存在数据库还是文件还是内存 Cache 则随意,只要 A 能拿到就行了。
    askask
        9
    askask  
    OP
       Mar 23, 2016
    @chenxytw
    @lyhapple

    http://blog.csdn.net/jazywoo123/article/details/49666641

    django-crontab 用这个模块解决了。多谢各位大牛
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2664 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 02:00 · PVG 10:00 · LAX 19:00 · JFK 22:00
    ♥ Do have faith in what you're doing.