我如何安排一个脚本 运行 每 46 分钟,在 6:00 am 和 23:40pm 之间,每天 python?
How can I schedule a script to run every 46 minutes, between 6:00 am and 23:40pm, daily with python?
我需要一个脚本,每天 6:00 到 23:40pm 每 46 分钟 运行。我目前正在使用 apscheduler,但我未能按间隔计划设置每天 24 运行s,并且使用 cron 模式对每个 运行 进行编程似乎效率非常低。有没有简单的方法告诉 python 到 "run this code every 46 minutes, 24 times a day, starting at 6am?"
假设您没有使用 asyncio、gevent、tornado 等
from apscheduler.schedulers.background import BackgroundScheduler
sched = BackgroundScheduler()
sched.start()
sched.add_job(function, 'cron', minute='46' hour='6-23')
有关详细信息,请参阅 docs。
编辑:
看错问题了。我假设你想要每 46 分钟一次,而不是在 6 到 23 之间每小时的第 46 分钟。让 apscheduler 事件在 23 停止间隔作业并在 6 再次恢复它可能会更好。
from apscheduler.schedulers.background import BackgroundScheduler
sched = BackgroundScheduler()
def disable_interval():
sched.remove_job('INTERVAL_JOB')
def enable_interval():
sched.add_job(run_function, 'interval', minutes=46, id='INTERVAL_JOB')
if __name__ == '__main__':
sched.start()
sched.add_job(enable_interval, 'cron', minute='0' hour='6')
sched.add_job(disable_interval, 'cron', minute='40' hour='23')
我需要一个脚本,每天 6:00 到 23:40pm 每 46 分钟 运行。我目前正在使用 apscheduler,但我未能按间隔计划设置每天 24 运行s,并且使用 cron 模式对每个 运行 进行编程似乎效率非常低。有没有简单的方法告诉 python 到 "run this code every 46 minutes, 24 times a day, starting at 6am?"
假设您没有使用 asyncio、gevent、tornado 等
from apscheduler.schedulers.background import BackgroundScheduler
sched = BackgroundScheduler()
sched.start()
sched.add_job(function, 'cron', minute='46' hour='6-23')
有关详细信息,请参阅 docs。
编辑:
看错问题了。我假设你想要每 46 分钟一次,而不是在 6 到 23 之间每小时的第 46 分钟。让 apscheduler 事件在 23 停止间隔作业并在 6 再次恢复它可能会更好。
from apscheduler.schedulers.background import BackgroundScheduler
sched = BackgroundScheduler()
def disable_interval():
sched.remove_job('INTERVAL_JOB')
def enable_interval():
sched.add_job(run_function, 'interval', minutes=46, id='INTERVAL_JOB')
if __name__ == '__main__':
sched.start()
sched.add_job(enable_interval, 'cron', minute='0' hour='6')
sched.add_job(disable_interval, 'cron', minute='40' hour='23')