[英]Method to run only once a day
我必须向 API 发出请求才能获取访问令牌。 它在一天内到期,即 86400 秒或 24 小时。 新的一天开始后,我需要获取新的访问令牌。
以下是我的 API 访问代码:
def get_access_token():
logging.info('Started to get access token')
response = requests.post(settings.URL, data=params).json()
logging.info('Fetched Access token')
return response
我需要确保只有上述方法 get_access_token 每天在第一个小时运行一次。 我的整个工作每小时运行一次使用 blockscheduler。 只有上面的一段代码每天需要在第一个小时运行一次。
请让我知道如何实现?
您可以为此使用无限循环,并带有一些智能睡眠步骤:
import time
starttime=time.time()
interval=86400
while True:
get_access_token()
time.sleep(interval - ((time.time() - starttime) % interval))
如果您希望程序在第一个小时运行,只需确保您第一次在该时间运行它。
如果您在 Linux 环境中工作, cron将帮助您实现这一目标。
script.py
执行crontab -e
设置一个新行,例如:
0 9 * * * python /path/to/your/script/script.py >/dev/null 2>&1
这将在每天上午 9:00 执行您的脚本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.