广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python怎么实现定时任务
  • 773
分享到

python怎么实现定时任务

2023-06-14 09:06:20 773人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍python怎么实现定时任务,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!用Python实现定时任务有些时候我们需要每隔一段时间就要执行一段程序,或者是往复循环执行某一个任务。比如博主在上篇文章讲的爬

这篇文章主要介绍python怎么实现定时任务,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

Python实现定时任务

有些时候我们需要每隔一段时间就要执行一段程序,或者是往复循环执行某一个任务。比如博主在上篇文章讲的爬虫一样,在实现对某个目标进行在线爬取的话,也需要用到实时任务。

用Python实现定时任务的四种方法

  • while True: + sleep()

  • threading.Timer定时器

  • 调度模块schedule

  • 任务框架APScheduler

定时要完成的Task(简单定义下)

import datetimedef Task():  now = datetime.datetime.now()  ts = now.strftime('%Y-%m-%d %H:%M:%S')  print(ts)

利用while True: + sleep()实现定时任务

第一个想到的肯定就行while:true + sleep组合了吧,简单粗暴,实现如下

def loopMonitor():  while True:    Task()    # 3s检查一次    time.sleep(3)

这种方法的缺点是只能实现同步任务,无法执行异步任务

利用threading.Timer定时器实现定时任务

from threading import Timerdef timerMonitor():  Task()  t = Timer(3, timerMonitor)  t.start()

出现的问题是,运行次数过多时,会出现报错:Pyinstaller maximum recursion depth exceeded Error Resolution
达到最大递归深度,然后想到的是修改最大递归深度

sys.setrecursionlimit(100000000)

但是运行到达到最大CPU时,python会直接销毁程序,凉凉0.0

利用调度模块schedule实现定时任务

schedule是一个第三方轻量级的任务调度模块,可以按照秒,分,小时,日期或者自定义事件执行时间
如果想执行多个任务,也可以添加多个task
代码见下

import scheduledef scheduleMonitor():  # 清空任务  schedule.clear()  # 创建一个按3秒间隔执行任务  schedule.every(3).seconds.do(Task)  # 创建一个按2秒间隔执行任务  schedule.every(2).seconds.do(Task)  while True:    schedule.run_pending()

但是他依然需要和while Ture配合使用,而且占用的CPU也比其他几种多的多。

利用任务框架APScheduler实现定时任务

APScheduler是Python的一个定时任务框架,用于执行周期或者定时任务,该框架不仅可以添加、删除定时任务,还可以将任务存储到数据库中,实现任务的持久化,使用起来非常方便。

from apscheduler.schedulers.blocking import BlockingSchedulerdef APschedulerMonitor():  # 创建调度器:BlockingScheduler  scheduler = BlockingScheduler()  scheduler.add_job(Task, 'interval', seconds=3, id='test_job1')  # 添加任务,时间间隔5S  scheduler.add_job(Task, 'interval', seconds=5, id='test_job2')  scheduler.start()

总结

循环+sleep方式可以用来做简单测试
2:timer可以实现异步定时任务。
3:schedule可以定点定时执行,但是仍然需要while Ture配合,而且占用内存大。
4:APScheduler框架更加强大,可以直接在里面添加定点与定时任务,无可挑剔。

以上是“python怎么实现定时任务”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网Python频道!

--结束END--

本文标题: python怎么实现定时任务

本文链接: https://www.lsjlt.com/news/269802.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python怎么实现定时任务
    这篇文章主要介绍python怎么实现定时任务,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!用Python实现定时任务有些时候我们需要每隔一段时间就要执行一段程序,或者是往复循环执行某一个任务。比如博主在上篇文章讲的爬...
    99+
    2023-06-14
  • 用Python怎么实现定时任务
    本篇文章给大家分享的是有关用Python怎么实现定时任务,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、发送消息import smtplibfrom em...
    99+
    2023-06-15
  • Python实现定时任务
    Python下实现定时任务的方式有很多种方式。下面介绍几种 循环sleep: 这是一种最简单的方式,在循环里放入要执行的任务,然后sleep一段时间再执行。缺点是,不容易控制,而且sleep是个阻塞函数。...
    99+
    2022-06-04
    Python
  • python包之APScheduler定时任务怎么实现
    这篇文章主要介绍“python包之APScheduler定时任务怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python包之APScheduler定时任务怎么实现”文章能帮助大家解决问题。...
    99+
    2023-06-30
  • python-crontab实现定时任务
    用django-crontab实现定时任务: 1.安装django-crontab 2.安装完成后,将‘django-crontab’添加到settings.py中的INSTALL_APP中, 然后在CRONJOBS中定义自己的定时任务 ...
    99+
    2023-01-31
    python crontab
  • SpringBoot定时任务怎么实现
    这篇文章主要讲解了“SpringBoot定时任务怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringBoot定时任务怎么实现”吧!SpringBoot定时任务主要由两个注解完成...
    99+
    2023-06-05
  • node怎么实现定时任务
    本教程操作环境:linux7.3系统、node18.4.0版、Dell G3电脑。node怎么实现定时任务node定时任务(node-schedule模块)实现一个每天凌晨十二点更新服务器上的git代码的功能koa2框架下的app.js文件...
    99+
    2022-11-22
    定时任务 node
  • Python中threading.Timer()定时器实现定时任务
    目录1、单线程执行2、多线程执行timer最基本理解就是定时器,可以启动多个定时任务,这些定时器任务是异步执行,所以不存在等待顺序执行问题。 Timer方法说明Timer(inter...
    99+
    2023-01-28
    threading.Timer()定时器 threading.Timer()定时任务
  • Python怎么用sched模块实现定时任务
    本文小编为大家详细介绍“Python怎么用sched模块实现定时任务”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python怎么用sched模块实现定时任务”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。牛刀小...
    99+
    2023-07-05
  • Python定时任务实现方案
    目录1、定时任务2、Python的定时任务2.1 几种常见的方案2.1.1 schedule2.1.2 Jenkins2.1.3 Celery2.2 题外话之持久化2.2.1 ApS...
    99+
    2022-11-12
  • mysql中怎么实现定时任务
    今天就跟大家聊聊有关mysql中怎么实现定时任务,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 定时任务 查看event是否开启: show v...
    99+
    2022-10-18
  • php redis怎么实现定时任务
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。php redis怎么实现定时任务?php + redis 实现定时任务修改配置文件 redis.conf; notify-keyspace-events "...
    99+
    2022-10-24
  • Swoole中怎么实现定时任务
    这篇文章主要介绍“Swoole中怎么实现定时任务”,在日常操作中,相信很多人在Swoole中怎么实现定时任务问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Swoole中怎么实现定时任务”的疑惑有所帮助!接下来...
    99+
    2023-07-05
  • Java Spring怎么实现定时任务
    本篇内容主要讲解“Java Spring怎么实现定时任务”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java Spring怎么实现定时任务”吧!java实现定时任务Jdk自...
    99+
    2023-07-02
  • springboot定时任务和异步任务怎么实现
    这篇文章主要介绍“springboot定时任务和异步任务怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“springboot定时任务和异步任务怎么实现”文章能帮助大家解决问题。异步任务简单案例...
    99+
    2023-06-27
  • android定时执行任务怎么实现
    Android定时执行任务可以通过以下几种方式实现:1. 使用Handler和Timer:创建一个Handler对象,在Handle...
    99+
    2023-09-21
    android
  • Java中怎么实现SpringBoot定时任务
    今天就跟大家聊聊有关Java中怎么实现SpringBoot定时任务,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. SpringBoot--任务:定时任务项目开发中经常需要执行一些...
    99+
    2023-06-20
  • Django+Nginx+uWSGI定时任务怎么实现
    今天小编给大家分享一下Django+Nginx+uWSGI定时任务怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。摘要...
    99+
    2023-06-28
  • 怎么在java中实现定时任务
    这篇文章给大家介绍怎么在java中实现定时任务,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一.分类从实现的技术上来分类,目前主要有三种技术(或者说有三种产品):Java自带的java.util.Timer类,这个类允...
    99+
    2023-06-15
  • Android中alarmmanager定时任务怎么实现
    在Android中,可以使用`AlarmManager`类来实现定时任务。下面是一个基本的步骤:1. 创建一个`PendingInt...
    99+
    2023-10-08
    Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作