“APScheduler启动调度器”的版本间的差异
来自CloudWiki
第3行: | 第3行: | ||
启动调度器只需要调用调度器的start()方法,下面分别使用不同的作业存储器来举例说明。 | 启动调度器只需要调用调度器的start()方法,下面分别使用不同的作业存储器来举例说明。 | ||
− | === | + | ==方法一:使用默认的作业存储器== |
− | + | ===完整代码=== | |
<nowiki># -*- coding: utf-8 -*- | <nowiki># -*- coding: utf-8 -*- | ||
# !/usr/local/bin/python | # !/usr/local/bin/python | ||
第44行: | 第44行: | ||
</nowiki> | </nowiki> | ||
− | + | ==方法二:使用数据库作为作业存储器== |
2020年5月18日 (一) 04:45的版本
启动调度器
启动调度器前需要先添加作业,有两种方法可以向调度器添加作业:一是通过接口add_job();二是通过使用函数装饰器,其中add_job()返回一个apscheduler.job.Job类的实例,用于后续修改或删除作业。
启动调度器只需要调用调度器的start()方法,下面分别使用不同的作业存储器来举例说明。
方法一:使用默认的作业存储器
完整代码
# -*- coding: utf-8 -*- # !/usr/local/bin/python # Time: 2018/10/13 20:27:58 # Description: # File Name: start_schduler.py from apscheduler.schedulers.blocking import BlockingScheduler import datetime from apscheduler.jobstores.memory import MemoryJobStore from apscheduler.executors.pool import ThreadPoolExecutor, ProcessPoolExecutor def my_job(id='my_job'): print (id,'-->',datetime.datetime.now()) jobstores = { 'default': MemoryJobStore() } executors = { 'default': ThreadPoolExecutor(20), 'processpool': ProcessPoolExecutor(10) } job_defaults = { 'coalesce': False, 'max_instances': 3 } scheduler = BlockingScheduler(jobstores=jobstores, executors=executors, job_defaults=job_defaults) scheduler.add_job(my_job, args=['job_interval',],id='job_interval',trigger='interval', seconds=5,replace_existing=True) scheduler.add_job(my_job, args=['job_cron',],id='job_cron',trigger='cron',month='4-8,11-12',hour='7-11', second='*/10',\ end_date='2018-05-30') scheduler.add_job(my_job, args=['job_once_now',],id='job_once_now') scheduler.add_job(my_job, args=['job_date_once',],id='job_date_once',trigger='date',run_date='2018-04-05 07:48:05') try: scheduler.start() except SystemExit: print('exit') exit()