python计划任务

本文介绍如何使用APScheduler模块实现Python定时任务,通过示例代码展示了如何设置周一至周五的股市开盘时间(09:30-11:30及13:00-15:00)每10秒从网站获取数据并存入Redis。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

APScheduler模块不同于python-crontab模块,它不会在系统上创建任何cronjob,所有任务将在运行时执行。

APScheduler是基于Quartz的一个Python定时任务框架,实现了Quartz的所有功能,使用起来十分方便。提供了基于日期、固定时间间隔以及crontab类型的任务,并且可以持久化任务。

APScheduler提供了多种不同的调度器,方便开发者根据自己的实际需要进行使用;同时也提供了不同的存储机制,可以方便与Redis,数据库等第三方的外部持久化机制进行协同工作,总之功能非常强大和易用。

#!/usr/bin/env python
# coding=utf-8
'''
需求:
周一至周五开盘时间
09:30-11:30
13:00-15:00
每隔10秒拉取所有版块数据到redis

参考: https://lz5z.com/Python%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1%E7%9A%84%E5%AE%9E%E7%8E%B0%E6%96%B9%E5%BC%8F/
环境: python2.7.5
前提:
    1.yum install python-pip
    2.pip install apscheduler
'''

from datetime import datetime
from apscheduler.schedulers.blocking import BlockingScheduler
#from subprocess import call
import urllib2

def job_function():
#    call(["./a.sh"])
    req = urllib2.urlopen('http://www.123.com')
# BlockingScheduler
sched = BlockingScheduler()
# Schedule job_function to be called every ten seconds,but starts on 9:15 and stops on 11:30
#sched.add_job(job_function, 'interval', seconds=10, start_date='2018-04-12 9:15:00', end_date='2018-04-12 11:30:00')
sched.add_job(job_function, 'cron', day_of_week='mon-fri', hour='9', minute='30-59', second='*/10')
sched.add_job(job_function, 'cron', day_of_week='mon-fri', hour='10', second='*/10')
sched.add_job(job_function, 'cron', day_of_week='mon-fri', hour='11', minute='00-30', second='*/10')
sched.add_job(job_function, 'cron', day_of_week='mon-fri', hour='13-14', second='*/10')
sched.start()

 

转载于:https://my.oschina.net/longquan/blog/1794461

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值