当前位置: 首页 > news >正文

盐城网站建设科技有限公司百度主页网址

盐城网站建设科技有限公司,百度主页网址,wordpress 编程,wordpress安全插件汉化在python开发的过程中,经常见到小伙伴直接使用while True的死循环sleep的方式来保存程序的一直运行。 这种方式虽然能达到效果,但是说不定什么时候就直接崩溃了。并且,在Linux环境中在检测到while True的未知进程就会直接干掉。 面对这样的…

在python开发的过程中,经常见到小伙伴直接使用while True的死循环+sleep的方式来保存程序的一直运行。

这种方式虽然能达到效果,但是说不定什么时候就直接崩溃了。并且,在Linux环境中在检测到while True的未知进程就会直接干掉。

面对这样的业务场景,通常可以选择使用定时器的方式来完成,况且用法也比较简单。

在python中的定时任务用法通常有sched模块/threading.QTimer模块,sched模块在之前的历史文章中有过详细说明。

今天介绍的这个定时模块是某位大佬写的APScheduler定时器框架,强烈推荐使用这种方式来完成定时任务的开发。

这里我们开发一个print_datetime函数来打印当前的时间,同时也将print_time函数作为我们需要一直保持执行的任务。

# Importing the datetime module.
import datetimedef print_time(message=None):"""It prints the current time, optionally preceded by a message.:param message: The message to print"""print(message, datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))

然后,我们准备需要使用的定时任务模块apscheduler,可以选择pip的方式进行安装,我个人一直使用的是这样方式。

pip install apscheduler# Importing the BlockingScheduler class from the apscheduler.schedulers.blocking module.
from apscheduler.schedulers.blocking import BlockingScheduler

至此,我们便可以将需要保持一直处于执行状态的业务函数,也就是这里的print_datetime函数作为定时中的任务执行。

如此,我们就不用使用while True死循环+sleep的方式来使任务一直保存在运行形状了。

# Creating a scheduler object.
scheduler = BlockingScheduler()# Adding a job to the scheduler.
scheduler.add_job(func=print_time, args=('时间打印定时任务',), trigger='cron', second='*/1')  # 每秒执行# Starting the scheduler in a separate thread.
scheduler.start()

最后,直接启动当前的.py文件就能直接执行定时任务了,运行效果如下。

时间打印定时任务 2023-02-26 13:52:52
时间打印定时任务 2023-02-26 13:52:53
时间打印定时任务 2023-02-26 13:52:54
时间打印定时任务 2023-02-26 13:52:55
时间打印定时任务 2023-02-26 13:52:56
时间打印定时任务 2023-02-26 13:52:57

当然,作为定时任务的框架apscheduler,他还有很多的技能。比如:按更复杂的周期执行,在有限的时间内执行,单点执行等等。

下面是我列出的比较常见的apscheduler定时任务的执行方式,供小伙伴们参考,提出宝贵意见。

scheduler.add_job(func=print_time, args=('任务只执行一次,在下一次的时间执行',),next_run_time=datetime.datetime.now() + datetime.timedelta(seconds=60))scheduler.add_job(func=print_time, args=('时间打印定时任务',), trigger='interval', seconds=5)  # 每5秒执行一次
scheduler.add_job(func=print_time, args=('时间打印定时任务',), trigger='interval', minutes=2)  # 每2分钟执行一次
scheduler.add_job(func=print_time, args=('时间打印定时任务',), trigger='interval', hours=1)  # 每1小时执行一次scheduler.add_job(func=print_time, args=('时间打印定时任务',), trigger='cron', minute='*', second='1')  # 每分钟执行一次
scheduler.add_job(func=print_time, args=('时间打印定时任务',), trigger='cron', hour='*', minute='0',second='0')  # 每小时执行一次scheduler.add_job(func=print_time, args=('时间打印定时任务',), trigger='cron', hour='20', minute='0',second='0')  # 每天20:00执行一次
scheduler.add_job(func=print_time, args=('时间打印定时任务',), trigger='cron', hour='21')  # 每天21:00执行一次

在使用过程中,apscheduler模块是最简单的调度类定时任务,欢迎小伙伴留言讨论!

http://www.hrbkazy.com/news/37463.html

相关文章:

  • 墨西哥网站后缀香港旺道旺国际集团
  • 内部优惠券网站建站外链吧怎么使用
  • 英文网站建设 潍坊他达那非副作用太强了
  • 网站复制按钮怎么做优化网站怎么做
  • 深圳信科网站建设精准推广
  • 嘉兴制作手机网站北京网站维护公司
  • 做绿化生意有什么网站东莞网络营销网络推广系统
  • 做自适应网站公司百度一下你就知道了主页
  • 建筑专业网站建设外贸网站
  • 深圳住房和建设厅网站网络推广专家
  • 网站建设或网站优化排名网站域名查询ip
  • 有名的淘宝客网站西安网络推广营销公司
  • 东莞做微网站建设价格温州seo按天扣费
  • 公司制作网站多少钱免费网站制作软件平台
  • wordpress 律师事务所模板苹果aso优化
  • 营销网站建设模板2024年重启核酸
  • 如何做音乐分享类网站爱站网查询
  • 商城网站页面设计排名检测
  • 宁夏建设学院官方网站百度做免费推广的步骤
  • 今网科技网站建设谷歌浏览器手机版免费官方下载
  • 太原做网站的2022新闻热点事件简短30条
  • 网站建设 证书东莞网络推广
  • 网站建设是虚拟行业吗网络营销策略的制定
  • 做网站赚钱流程百度网站权重查询
  • 长春网长春网站建设站建设今天国内新闻10条
  • 做外贸不能访问国外网站怎么办网页制作成品
  • 开发公司资质质量体系网站关键词优化公司哪家好
  • 驻马店做网站的公司电商运营助理
  • 周口做网站优化如何快速提升自己
  • 徐州网站排名系统怎么样建立自己的网站