【发布时间】:2017-08-16 04:22:49
【问题描述】:
我有一个 Python 脚本,它每 1 分钟向我的 API 发送一个发布请求:
while True:
data = requests.post("URL_HERE", json={
"api_key":"XXXX",
"concat": 1,
"messages": "HI"
})
time.sleep(60)
一切正常,但每 2 小时(或多或少)有 2 条同一分钟的记录。示例:
2017-03-22 11:34:46.977255
2017-03-22 11:37:47.231694
2017-03-22 11:37:47.231694
2017-03-22 11:39:48.849003
2017-03-22 11:40:48.907895
...
2017-03-23 13:59:59.150108
2017-03-23 14:00:00.120431
2017-03-23 14:00:00.942033
我猜这是因为“while”中的代码需要几毫秒才能执行,因此,每2-3小时一次,每分钟会有两条记录。
有人知道我该如何解决这个问题吗?我不能使用 cronjobs。
也许是一个异步任务?
如果我希望这个程序永远执行,使用“while”是好的,或者我应该创建一个类似的守护进程?
【问题讨论】:
-
为这类任务检查 celery