写后端的同学们可能都知道,工作中可能需要周期性执行一些任务,俗称定时任务。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-8from datetime import datetimeimport timeimport scheduledef job1(*args):    with open('tasks', 'a') as f:        f.write('[{}]{}'.format(datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f'), 'msg'))# 每隔5秒执行一次job1schedule.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-8from datetime import datetimeimport timeimport 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)

就是这么简单,你学会了吗?

asp python 定时任务_Python定时任务轻量解决方案——Schedule相关推荐

  1. Python定时任务轻量解决方案---Schedule

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

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

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

  3. python定时任务_Python 定时任务最佳实践

    背景 最近有个需求,需要实现一个定时或定期任务的功能,需要实现每月.每日.每时.一次性等需求,必须是轻量级不依赖其它额外组件,并能支持动态添加任务.由于当前任务信息保存在集群 ETCD 数据库中,因此 ...

  4. python定时任务_Python定时任务(上)

    在项目中,我们可能遇到有定时任务的需求.其一:定时执行任务.例如每天早上 8 点定时推送早报.其二:每隔一个时间段就执行任务.比如:每隔一个小时提醒自己起来走动走动,避免长时间坐着.今天,我跟大家分享 ...

  5. python安装http server轻量应用服务器的方法

    文章目录 应用场景 安装命令 参考文献 应用场景 在python环境下,快速搭建http服务器,提供一个文件浏览的web服务SimpleHTTPServer 安装命令 python安装http ser ...

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

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

  7. 【轻量云服务器使用经验分享】用ClouseBase云函数来定时监控轻量云服务器流量

    众所周知,目前要说国内性价比最高而且最稳定的服务器,恐怕非74元一年2核4G的腾讯云轻量云莫属了,该机器具有2核4G.8M的带宽以及80G的SSD硬盘,可以说碾压了一大票友商的产品,如果是刚入门初学者 ...

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

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

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

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

最新文章

  1. R语言使用compareGroups包绘制单因素分析表实战:基于survival包的colon数据集
  2. 神经网络(Neural Network)
  3. 学习 PixiJS — 碰撞检测
  4. 在CentOS 7服务器中使用Jexus发布.net core webapi
  5. 九度OJ 区间问题
  6. php curl 不验证ssl,PHP Curl https跳过ssl证书认证报错记录及解决
  7. java spring-webflux netty
  8. 使用Nacos项目jar包启动抛出的yml异常
  9. linux下安装Jira6.3
  10. 【脑洞大开】假如BERT系列论文变成Commit History
  11. Javascript特效:图片切换(类似于电商网站图片查看)的封装实现和闭包实现
  12. [CATARC_2017] 第一周
  13. PS全套抠图技法教程,快速抠头发/抠婚纱,带配套素材
  14. 手机信息通知标为已读实现原理_27条iPhone苹果(附iPhoneX)手机使用技巧,你用过多少条?...
  15. Web前端案例——学成网首页制作
  16. JavaScript对象的取值
  17. App Inventor 2连接模拟器一直失败的问题解决
  18. 利用阿里云国际购买的服务器搭建个人网站步骤
  19. freebsd pkg常用命令
  20. 计蒜客习题:迷阵突围

热门文章

  1. 块级元素(导航,图片,层)的水平和垂直居中
  2. JS跳转手机QQ的聊天页面
  3. python flask源码解析_浅谈flask源码之请求过程
  4. laravel-admin 中怎么给 grid 的列添加行数序号
  5. crawler4j mysql_Nutch、heritrix、crawler4j优缺点
  6. ios开发读取剪切板的内容_为你找到3款Mac平台好用的剪切板工具,你值得拥有!...
  7. Linux测量进程内存峰值,linux / unix进程的峰值内存使用情况
  8. 哈弗f5i潮配置参数_10万元起售的潮人新玩法,哈弗F5国潮版购车手册
  9. *PAT_B_1024_Java(20分)
  10. 三相逆变器双pi控制器参数如何调节_一分钟看懂维也纳三相整流器