gpt4 book ai didi

Python将不同部分的代码安排在不同的时间

转载 作者:太空宇宙 更新时间:2023-11-03 16:59:02 26 4
gpt4 key购买 nike

我有一个 python 脚本,它有两个部分:

  • 第一部分调用 api 查询(我想每天运行两次)

  • 第二部分,根据第一次调用的结果创建其他函数(我想每分钟运行一次)

我每天只想调用 api 请求两次,因为结果不会随时间变化,并且我希望代码的第二部分每分钟运行一次,我如何在 python 中使用 cron 作业来完成此任务每分钟运行一次脚本?

最佳答案

实际上,它可能是一个用不同选项触发的脚本,以反射(reflect)第一部分和第二部分。将数据序列化到临时空间的文件中将是两个调用之间数据交换的选项。

我已经为您编写了非正式代码,我没有检查它是否有效或正确,只是为了了解您可以做什么:

import requests  # do pip install requests
import sys

headers = {'accept': 'application/json'}

def get_data_from_api():
response = requests.get(url="http://foobar", headers=headers)
with open('/tmp/mysaved_data', 'w') as f:
f.writelines(response.json())

def do_fancy_stuff_with_json():
with open('/tmp/mysaved_data', 'r') as f:
data = f.readlines(f)

# Do the second section stuff

if __name__ == '__main__':
if len(sys.argv) > 0: # more than one param -> call the second function
do_fancy_stuff_with_json()
else:
get_data_from_api()

在 cron 中,您将定义两个作业:

0 5 * * 1 /usr/bin/python myscript.py
/1 * * * * /usr/bin/python myscript.py dummy

关于Python将不同部分的代码安排在不同的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35163002/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com