我想永远每60秒在Python中重复执行一个函数(就像目标C中的NSTimer一样).这段代码将作为守护进程运行,实际上就像使用cron每分钟调用python脚本一样,但不需要用户设置.
在这个关于用Python实现的cron的问题中,解决方案似乎实际上只是sleep() x秒.我不需要这样的高级功能,所以也许这样的东西可行
while True:
# Code executed here
time.sleep(60)
Run Code Online (Sandbox Code Playgroud)
这段代码有可预见的问题吗?
我已经在这里和这里建议requests使用重试机制进行会话. urllib3.util.retry
现在,我试图找出添加回调函数的最佳方法,该函数将在每次重试尝试时调用.
为了更好地解释自己,如果Retry对象或请求get方法有办法添加回调函数,那就太好了.也许是这样的:
import requests
from requests.packages.urllib3.util.retry import Retry
from requests.adapters import HTTPAdapter
def retry_callback(url):
print url
s = requests.Session()
retries = Retry(total=5, status_forcelist=[ 500, 502, 503, 504 ])
s.mount('http://', HTTPAdapter(max_retries=retries))
url = 'http://httpstat.us/500'
s.get(url, callback=retry_callback, callback_params=[url])
Run Code Online (Sandbox Code Playgroud)
我知道,对于打印网址,我可以使用日志记录,但这只是一个简单的例子,用于更复杂的使用.
如果不是最好的python编码,请原谅我,但我希望它足够清楚.
谢谢.