写后端的同学们可能都知道,工作中可能需要周期性执行一些任务,俗称定时任务。Linux环境下,可以借助于系统自带的crontab完成定时任务。但是很多时候,开发的同学们可能并没有权限去操作crontab,所以就催生了一些不太好的解决方案,比如基于Python/Java里面的Timer去弄一个周期性执行的工具。

大佬们,醒醒,主角出场了。今天给大家分享一个Python轻量级定时任务解决方案,schedule,可以满足常用的周期性任务需求。

安装

pip install schedule

使用

schedule提供了多种方法去描述执行周期,比如:

#1,按照某个时间间隔

every(10).seconds.do(task),表示每隔10秒执行task任务。当然可以把间隔换成其他单位,比如minutes,hours,days

#2,按照一个固定的时间点

every().day.at('9:30').do(task),表示每天9:30执行任务

#encoding=utf-8
from datetime import datetime
import time
import scheduledef job1(*args):with open('tasks', 'a') as f:f.write('[{}]{}\n'.format(datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f'), 'msg'))# 每隔5秒执行一次job1
schedule.every(5).seconds.do(job1)
# 每天9:30执行任务
schedule.every().day.at('09:30').do(job1)if __name__ == '__main__':while True:schedule.run_pending()time.sleep(1)

效果

如何让任务只执行一次?

只需要在任务最后加上这句话就行,return schedule.CancelJob

#encoding=utf-8
from datetime import datetime
import time
import scheduledef job_run_once(*args):print('Job run only once')#return schedule.CancelJob# 只执行一次任务
schedule.every(3).seconds.do(job_run_once)if __name__ == '__main__':while True:schedule.run_pending()time.sleep(1)

本文首发于python黑洞网,csdn同步更新

Python定时任务轻量解决方案---Schedule相关推荐

  1. asp python 定时任务_Python定时任务轻量解决方案——Schedule

    写后端的同学们可能都知道,工作中可能需要周期性执行一些任务,俗称定时任务.Linux环境下,可以借助于系统自带的crontab完成定时任务.但是很多时候,开发的同学们可能并没有权限去操作crontab ...

  2. python连接php_PHP+Python,轻量维护超轻松

    window下安装Python 直接去Python官网下载msi安装程序安装即可(选择自定义安装才能修改程序安装路径哦) widows下Python的数据库访问模块PyMysql的安装 1.open ...

  3. 【Python搞搞轻量Blog】第一发 Flask入门

    我发现很多小伙伴一直想着有自己的一个博客,而且还想自己写一个. 你们都这么爱折腾,我就给你们搞一个轻量级级别的Blog. 准备 我们要用Python来写一套轻量级的博客,那么必须要有Python方面的 ...

  4. vue项目中使用svg,通过img标签轻量解决方案,支持动态颜色更改

    前言 svg的优点不多说,怎么在vue项目优雅的使用svg?通过img似乎很优雅简单,但是你知道通过img引入svg怎么更改颜色吗?知道怎么动态切换颜色吗? 一.components下创建自定义公共s ...

  5. 可伸缩性和重/轻量,谁是实用系统的架构主选?

    http://www.jdon.com/artichect/scalable.htm 所谓可伸缩性,是指在小型规模单台服务器情况下,应用系统可以良好运转,系统的访问量或功能增加后,整个系统只需通过增加 ...

  6. 可伸缩性和重/轻量,谁是实用系统的架构主选

    板桥里人 http://www.jdon.com 2004/08/02 所谓可伸缩性,是指在小型规模单台服务器情况下,应用系统可以良好运转,系统的访问量或功能增加后,整个系统只需通过增加服务器硬件就可 ...

  7. python的ide编辑器_python轻量IDE编辑器 pyscripter 免费开源 更新3.6.3版本

    PyScripter是一个开放源码的Python集成开发环境(IDE),它的目标是在功能上与其他语言的商业IDE竞争.它功能丰富,但也很轻量. 使用PyScripter,您必须确保有一个Python版 ...

  8. asp python 定时任务_python定时任务最强框架APScheduler详细教程

    APScheduler定时任务 上次测试女神听了我的建议,已经做好了要给项目添加定时任务的决定了.但是之前提供的四种方式中,她不知道具体选择哪一个.为了和女神更近一步,我把我入行近10年收藏的干货免费 ...

  9. 建立ssr服务器_如何从零打造一款轻量且天然支持SSR的个人博客系统?

    2年前笔者开发了一款基于 nodejs 的全栈开源 cms 系统 XPCMS, 主要是为了解决技术开发者搭建自身内容平台的局限以及降低使用成本, 虽然1.0版本已经完成, 但是从整体部署和二次开发的便 ...

最新文章

  1. [翻译]帮助文档-jQuery 选择器
  2. php对连接加密后传,PHP 加密解密和解决URL传输问题
  3. 在 java 的 bin 目录下,jdk 提供了很多使用的工具,下面学习一些监控和故障处理的工具。...
  4. 奇瑞采用英伟达GPU,将实现L3自动驾驶
  5. sendmail邮件加密与身份验证
  6. hadoop2.X集群安装与应用
  7. Webrtc之源码结构
  8. PHP try catch 捕获异常,最后调用的方法中错误不打印
  9. linux find内容替换,利用find和sed批量替换文件内容
  10. java嵌入浏览器_Java嵌入浏览器Chrome内核
  11. 高斯滤波器讲解(python实现)
  12. Multiples of 3 and 5
  13. 25款操作系统全面接触 [8]
  14. 浏览器被劫持如何恢复?
  15. 警惕邮件中的发票链接
  16. Codeblocks-20.03下载及安装教程(面向小白的保姆级教程)
  17. ovs-vsctl设置ofport不成功处理
  18. 【Python爬虫】第一课 Python爬虫环境与爬虫简介
  19. SFC /SCANNOW发现损坏文件应对方法参考
  20. Qt复现pure virtual method called报错,与解决办法

热门文章

  1. ORACLE的分布式管理
  2. 深入理解密码学基本概念和应用
  3. linux内存管理总结
  4. nginx简介--理解nginx配置/模块/openresty
  5. WebSocket的简单实现
  6. php dump函数详解,php中var_dump()函数的详解说明
  7. (56)Verilog HDL双向接口:inout
  8. php7 curl开源库,7个适用于PHP的最佳Curl包装器库
  9. jq跨域代理_jQuery中的跨域问题
  10. RTT Nano+STM32F407ZGT6+LAN8720A+LWIP+CubeMX+MDK