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()忽略.

  • 相关阅读:
    leetcode 78. 子集 JAVA
    leetcode 91. 解码方法 JAVA
    leetcode 75. 颜色分类 JAVA
    leetcode 74 搜索二维矩阵 java
    leetcode 84. 柱状图中最大的矩形 JAVA
    last occurance
    first occurance
    classical binary search
    LC.234.Palindrome Linked List
    LC.142. Linked List Cycle II
  • 原文地址:https://www.cnblogs.com/xiaouisme/p/3872688.html
Copyright © 2011-2022 走看看