zoukankan      html  css  js  c++  java
  • 关于linux上cron服务的python封装工具

    关于cron:定时任务服务,一般linux自带且已启动.(pgrep cron查看cron服务是否启动了.)

    关于plan:一个通过python来定制cron服务的工具.其官网:
    http://plan.readthedocs.org/

    plan的使用例子:

    例子1:

    from plan import Plan
    cron = Plan()
    output = dict(stdout='~/stdout.log', stderr='~/stderr.log')
    cron.command('date',
                 every='1.minute',
                 output=output,
                 )
    if __name__ == '__main__':
        cron.run('update')

    这样就加了一个定时计划任务.(可用命令crontab -l查看已添加的任务.)

    例子2:

    from plan import Plan
    cron = Plan()
    output = dict(stdout='~/stdout.log', stderr='~/stderr.log')
    cron.command('echo ${PATH} && supervisord -v',
                 every='1.minute',
                 output=output,
                 )
    if __name__ == '__main__':
        cron.run('update')

     查看日志,发现PATH变量只有/usr/bin:/bin.没有/usr/local/bin.而我的supervisord放在/usr/local/bin下面,所以提示/bin/sh: 1:找不到supervisord.
    所以,如果要执行的任务包含了处于其他路径的命令,比如/usr/local/bin,需要这样:
    例子3:

    from plan import Plan
    cron = Plan()
    output = dict(stdout='~/stdout.log', stderr='~/stderr.log')
    cron.command('PATH=${PATH}:/usr/local/bin && supervisord -v',
                 every='1.minute',
                 output=output,
                 )
    if __name__ == '__main__':
        cron.run('update')

     上面都是用cron.command()来添加的,然后如果要添加执行的任务是python脚本,还可以这样:
    例子4:

    cron.script('trader_supvr_tool.py --supervisord=start-init',
                 every='1.minute',
                 path='~/work/xProject/etrader',
                 environment={'PATH' : '${PATH}:/usr/local/bin' },
                 output=output,
                 )

    environment和path都是cron.script()支持的参数,而cron.command()忽略.

  • 相关阅读:
    刷题向》关于一道比较优秀的递推型DP(openjudge9275)(EASY+)
    刷题向》一道简单的思路题BZOJ1800(EASY+)
    算法描述》关于二分的两三事
    值得一做》关于一道暴搜BZOJ1024(EASY+)
    写一个C语言的链表记录一下
    qt 创建第一个工程
    windows好用的便签
    .pro文件部分命令详解
    QT 子文件的建立(pri)
    QTAction Editor的简单使用(简洁明了)
  • 原文地址:https://www.cnblogs.com/xiaouisme/p/3872688.html
Copyright © 2011-2022 走看看