如何仅在特定时间在 Heroku 上制作 python 脚本到 运行?
How to make a python script to run only on specific time on Heroku?
我有一个 python 脚本(用 selenium
做一些事情并将结果发送到我的 what'sapp [Used Twilio API]
)我把它托管在 Heroku
&预定 运行 one time per day
。它按预期在预定时间 运行s,但在其他时间也 运行s(每天超过 6 次)。我不想 运行 除了预定的时间。我怎样才能做到 运行 只在预定的时间?
Procfile:
web: python my_script.py
除此之外,我的目录中还有 requirements.txt & my_script.py
。
您可以使用time
模块和while
循环来检查当前时间是否等于您想要的时间。
from time import gmtime, strftime
desired_time = '13:28'
while True:
if strftime("%H:%M", gmtime()) == desired_time:
main()
提供的答案可能是最简单的选项。这是我在个人项目中使用的。
您可以使用 APScheduler,将任务安排到 运行 的时间间隔。
from apscheduler.schedulers.background import BackgroundScheduler
def start():
scheduler = BackgroundScheduler()
scheduler.add_job(my_logger, 'interval', seconds=3)
scheduler.start()
我有一个 python 脚本(用 selenium
做一些事情并将结果发送到我的 what'sapp [Used Twilio API]
)我把它托管在 Heroku
&预定 运行 one time per day
。它按预期在预定时间 运行s,但在其他时间也 运行s(每天超过 6 次)。我不想 运行 除了预定的时间。我怎样才能做到 运行 只在预定的时间?
Procfile:
web: python my_script.py
除此之外,我的目录中还有 requirements.txt & my_script.py
。
您可以使用time
模块和while
循环来检查当前时间是否等于您想要的时间。
from time import gmtime, strftime
desired_time = '13:28'
while True:
if strftime("%H:%M", gmtime()) == desired_time:
main()
提供的答案可能是最简单的选项。这是我在个人项目中使用的。
您可以使用 APScheduler,将任务安排到 运行 的时间间隔。
from apscheduler.schedulers.background import BackgroundScheduler
def start():
scheduler = BackgroundScheduler()
scheduler.add_job(my_logger, 'interval', seconds=3)
scheduler.start()