`
kanpiaoxue
  • 浏览: 1788683 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

python APScheduler 定时调度 框架

 
阅读更多

python APScheduler 框架,模仿Java的Quartz框架写的,强大给力。

它的主页是:http://packages.python.org/APScheduler/index.html

提问的地方:http://groups.google.com/group/apscheduler (老外很认真的回答你的问题)

它的按照很简单:参考主要的install就可以了,就两三步

例子如下:

 

from apscheduler.scheduler import Scheduler
import time

# Start the scheduler
sched = Scheduler()


def job_function():
    print "Hello World"

print 'start to sleep'
print 'wake'
sched.daemonic = False
sched.add_cron_job(job_function,day_of_week='mon-fri', hour='*', minute='0-59',second='*/5')
sched.start()

 这个是最简单的例子(目前我初学,呵呵)

这里要提到的是:

apscheduler会创建一个线程,这个线程默认是daemon=True,也就是默认的是线程守护的。

在上面的代码里面,要是不加上sched.daemonic=False的话,这个脚本就不会运行。

因为上面的脚本要是没有sched.daemonic=False的话,它会创建一个守护线程。这个过程中,会创建scheduler的实例。但是由于脚本很小,运行速度很快,主线程mainthread会马上结束,而此时定时任务的线程还没来得及执行,就跟随主线程结束而结束了。(守护线程和主线程之间的关系决定的)。要让脚本运行正常,必须设置该脚本为非守护线程。sched.daemonic=False

=================== end ======================

 

补充:

 

#-*-coding:utf-8-*-
from apscheduler.scheduler import Scheduler

def job_function(a):
    print a

if __name__ == '__main__':
    hello = 'hello world'
    sched = Scheduler(daemonic=False) # 注意这里,要设置 daemonic=False
    sched.add_cron_job(job_function, day_of_week='mon-fri', hour='*', minute='0-59', second='*/5', args=[hello]) # args=[] 用来给job函数传递参数
    sched.start()

# ----------- 源码  -------------------------------   
#   def add_cron_job(self, func, year=None, month=None, day=None, week=None,
#                    day_of_week=None, hour=None, minute=None, second=None,
#                    start_date=None, args=None, kwargs=None, **options):
#       """
#       Schedules a job to be completed on times that match the given
#       expressions.
#
#       :param func: callable to run
#       :param year: year to run on
#       :param month: month to run on
#       :param day: day of month to run on
#       :param week: week of the year to run on
#       :param day_of_week: weekday to run on (0 = Monday)
#       :param hour: hour to run on
#       :param second: second to run on
#       :param args: list of positional arguments to call func with
#       :param kwargs: dict of keyword arguments to call func with
#       :param name: name of the job
#       :param jobstore: alias of the job store to add the job to
#       :param misfire_grace_time: seconds after the designated run time that
#           the job is still allowed to be run
#       :return: the scheduled job
#       :rtype: :class:`~apscheduler.job.Job`
#       """
#
 

 

分享到:
评论

相关推荐

    (Repost)它是一个轻量级的_Python_定时任务调度框架。APScheduler_支持

    (Repost)它是一个轻量级的_Python_定时任务调度框架。APScheduler_支持三种调_Python_APScheduler

    APScheduler基于Quartz的一个Python定时任务框架

    8. **易于集成**:APScheduler可以方便地与各种Python应用框架集成,如Flask、Django等,使得定时任务无缝融入到现有的项目中。 9. **事件监听**:APScheduler提供了一套事件监听机制,允许开发者注册回调函数来...

    PyPI 官网下载 | APScheduler-3.7.0.tar.gz

    总结,APScheduler 是 Python 开发者实现定时任务的利器,其丰富的调度策略和灵活的配置使得任务管理变得简单高效。在项目中使用 APScheduler,可以极大地提升工作效率,确保任务按预定时间准确执行。

    python基于Flask+apscheduler的定时任务系统

    而当我们需要在Web应用中实现定时任务时,可以借助于ApScheduler库,它是一个强大的任务调度库,支持多种调度策略。本文将详细讲解如何结合Flask和ApScheduler来创建一个定时任务系统。 首先,我们需要安装Flask和...

    python 三方库 定时服务 APScheduler

    APScheduler作为Python的三方库,提供了一套强大且灵活的定时服务框架,适用于各种定时任务场景。其丰富的触发器、执行器和持久化选项,使得开发者能够轻松地在Python应用中实现复杂定时任务的需求。通过深入了解和...

    企业微信机器人小项目,,flask框架起一个服务,使用flask_APScheduler定时推送消息到企业微信群.zip

    企业微信机器人小项目是基于Python的Flask框架和flask_apscheduler库构建的一个实用工具,用于定期向企业微信群发送消息。在这个项目中,开发者利用Flask创建了一个Web服务,结合flask_apscheduler实现定时任务功能...

    详解python调度框架APScheduler使用

    Python的APScheduler库是一个强大的任务调度框架,它允许开发者在指定的时间间隔、特定日期或按照CRON表达式来执行任务。在本文中,我们将深入探讨如何使用APScheduler进行任务调度。 首先,我们要导入所需的模块,...

    Python-Devops定时调用http接口定时执行SSH命令的WEB定时任务工具

    Flask是一个轻量级的Python Web框架,而Flask-APScheduler则是在这个基础上添加的定时任务插件,它允许开发者在Web应用中安排任务按照预设的时间间隔执行。APScheduler提供了多种调度策略,如cron表达式、间隔时间等...

    python大作业基于django+APScheduler的定时任务管理系统源码.zip

    这是一个基于Python的大型项目,利用了Django框架和APScheduler库来构建一个定时任务管理系统。这个系统能够帮助用户创建、管理和执行定期的任务,非常适合在Web环境中进行自动化工作流程的安排。 首先,我们要了解...

    Python任务调度模块APScheduler使用

    APScheduler是一个功能强大且灵活的Python定时任务框架,适用于各种场景下的任务调度需求。通过合理配置其组件,可以轻松实现复杂的应用逻辑,提高开发效率。无论是简单的单机任务还是复杂的分布式任务调度,...

    数据仓库调度工具(python)

    定时任务调度是工具的核心特性,这通常涉及到使用Python的定时任务库,如APScheduler。APScheduler允许设置定时触发器,根据预设的时间间隔或者特定时间点执行任务。用户可以定义不同的调度策略,比如cron表达式,来...

    Tornado结合Apscheduler的简单任务调度系统(包含数据采集、报表生成等).zip

    本项目名为"Tornado结合Apscheduler的简单任务调度系统",它是一个基于Python的解决方案,利用了Tornado Web框架和Apscheduler库来实现高效且可扩展的任务管理。 首先,我们来详细了解一下Tornado。Tornado是一款...

    定时框架爬虫简明代码值得参考

    定时框架爬虫是指利用Python编写的自动化脚本,结合特定的定时任务调度技术,定期执行网络爬取任务的过程。Python中常用的定时框架包括: 1. **cron-like定时器**(如APScheduler):这是一套强大的任务调度库,...

    apscheduler-release 3.3.1.post4

    Python定时任务库APScheduler,即Advanced Python Scheduler的版本3.3.1.post4的英文文档,是Python程序员用来安排代码在未来某个时刻执行(一次性或周期性执行)的库。APScheduler不仅支持在应用程序运行时动态地...

    基于多进程中APScheduler重复运行的解决方法

    在一个python web应用中需要定时执行一些任务,所以用了APScheduler这个库。又因为是用flask这个web框架,所以用了flask-apscheduler这个插件(本质上与直接用APScheduler一样,这里不作区分)。 在开发中直接测试...

    python_Flak定时任务Demo

    Python Flask 是一个轻量级的Web服务框架,它允许开发者快速构建自己的应用。而Flask-APScheduler则是基于APScheduler库的一个扩展,用于在Flask应用中实现定时任务功能。这个"python_Flask定时任务Demo"是一个示例...

Global site tag (gtag.js) - Google Analytics