python BlockingScheduler定时任务

 #BlockingScheduler定时任务
from apscheduler.schedulers.blocking import BlockingScheduler
from datetime import datetime
首先看看周一到周五定时执行任务
# 输出时间
def job():
    print(datetime.now().strtime("%Y-%m-%d %H:%M:%S"))
# BlockingScheduler
scheduler = BlockingScheduler()
scheduler.add_job(job, "cron", day_of_week="0-4", hour=6, minute=30)
scheduler .start()


scheduler.add_job(job, 'cron', hour=1, minute=5)
hour =19 , minute =23   这里表示每天的19:23 分执行任务
hour ='19', minute ='23'   这里可以填写数字,也可以填写字符串
hour ='19-21', minute= '23'   表示 19:23、 20:23、 21:23 各执行一次任务

#每300秒执行一次
scheduler .add_job(job, 'interval', seconds=300)

#在1月,3月,5月,7-9月,每天的下午2点,每一分钟执行一次任务
scheduler .add_job(func=job, trigger='cron', month='1,3,5,7-9', day='*', hour='14', minute='*')

# 当前任务会在 6、7、8、11、12 月的第三个周五的 0、1、2、3 点执行
scheduler .add_job(job, 'cron', month='6-8,11-12', day='3rd fri', hour='0-3')

#从开始时间到结束时间,每隔俩小时运行一次
scheduler .add_job(job, 'interval', hours=2, start_date='2018-01-10 09:30:00', end_date='2018-06-15 11:00:00')

#自制定时器
 from datetime import datetime
 import time
 # 每n秒执行一次
 def timer(n):
     while True:
         print(datetime.now().strftime("%Y-%m-%d  %H:%M:%S"))
         time.sleep(n)

timer(5)
  • 9
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
以下是Python实现定时任务的几种方法: 1. 使用while True和time.sleep()函数实现定时任务 ```python import time def some_task(): print("This is a timed task.") while True: some_task() time.sleep(60) # 每隔60秒执行一次任务 ``` 2. 使用threading.Timer定时器实现定时任务 ```python import threading def some_task(): print("This is a timed task.") def timer(): some_task() timer = threading.Timer(60, timer) # 每隔60秒执行一次任务 timer.start() timer() ``` 3. 使用Timeloop库实现定时任务 ```python from timeloop import Timeloop from datetime import timedelta tl = Timeloop() @tl.job(interval=timedelta(seconds=60)) def some_task(): print("This is a timed task.") tl.start(block=True) ``` 4. 使用调度模块sched实现定时任务 ```python import sched import time s = sched.scheduler(time.time, time.sleep) def some_task(): print("This is a timed task.") s.enter(60, 1, some_task, ()) # 每隔60秒执行一次任务 s.enter(60, 1, some_task, ()) s.run() ``` 5. 使用任务框架APScheduler实现定时任务 ```python from apscheduler.schedulers.blocking import BlockingScheduler def some_task(): print("This is a timed task.") scheduler = BlockingScheduler() scheduler.add_job(some_task, 'interval', seconds=60) # 每隔60秒执行一次任务 scheduler.start() ``` 6. 使用分布式消息系统celery执行定时任务 ```python from celery import Celery from datetime import timedelta app = Celery('tasks', broker='pyamqp://guest@localhost//') @app.task def some_task(): print("This is a timed task.") app.conf.beat_schedule = { 'some_task': { 'task': 'tasks.some_task', 'schedule': timedelta(seconds=60), # 每隔60秒执行一次任务 }, } app.conf.timezone = 'UTC' ``` 7. 使用Windows自带的定时任务 在Windows系统中,可以使用计划任务来实现定时任务。具体操作可以参考Windows系统的相关文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值