python 每分钟运行一次_调度Python脚本以准确地每小时运行一次

在我问之前,Cron Jobs和Task Scheduler将是我的最后选择,这个脚本将在Windows和Linux之间使用,我更愿意使用编码方法来完成此操作,而不是将其留给最终用户完成.

是否有可用于安排任务的Python库?我需要每小时运行一次函数,但是,如果我每小时运行一次脚本并使用.sleep,“每小时一次”将在前一天的不同时间运行,因为延迟执行/运行脚本和/或功能所固有的.

在不使用Cron作业或使用任务计划程序进行计划的情况下,安排函数在一天中的特定时间(不止一次)运行的最佳方法是什么?

或者,如果这是不可能的,我也希望你的意见.

AP Scheduler完全符合我的需求.

版本< 3.0

import datetime

import time

from apscheduler.scheduler import Scheduler

# Start the scheduler

sched = Scheduler()

sched.daemonic = False

sched.start()

def job_function():

print("Hello World")

print(datetime.datetime.now())

time.sleep(20)

# Schedules job_function to be run once each minute

sched.add_cron_job(job_function, minute='0-59')

出:

>Hello World

>2014-03-28 09:44:00.016.492

>Hello World

>2014-03-28 09:45:00.0.14110

版本> 3.0

(来自Animesh Pandey的答案如下)

from apscheduler.schedulers.blocking import BlockingScheduler

sched = BlockingScheduler()

@sched.scheduled_job('interval', seconds=10)

def timed_job():

print('This job is run every 10 seconds.')

@sched.scheduled_job('cron', day_of_week='mon-fri', hour=10)

def scheduled_job():

print('This job is run every weekday at 10am.')

sched.configure(options_from_ini_file)

sched.start()

解决方法:

这是他们文档中的一小段代码:

from apscheduler.schedulers.blocking import BlockingScheduler

def some_job():

print "Decorated job"

scheduler = BlockingScheduler()

scheduler.add_job(some_job, 'interval', hours=1)

scheduler.start()

标签:cron-task,python,python-3-x,scheduled-tasks,cron

来源: https://codeday.me/bug/20190917/1809672.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值