在Django应用程序中定期从API拉取数据的任务。
在Django应用程序中定期从API拉取数据的任务。
这个问题已经在此处有答案:
在Django应用程序中,如何定期(比如每10秒)向API发送请求?
目前我已经设置了一个cron来负责进行API调用并更新数据,但cron只有分钟精度。我希望数据每10秒更新一次。
admin 更改状态以发布 2023年5月24日
使用实现通用事件调度程序的sched模块。 \n
import sched, time s = sched.scheduler(time.time, time.sleep) def do_something(sc): print "Doing stuff..." # do your stuff s.enter(60, 1, do_something, (sc,)) s.enter(60, 1, do_something, (s,)) s.run()
\n第一次编辑:我的答案不够具体,因此这是django的答案。 \n在views.py中: \n
import sched, time s = sched.scheduler(time.time, time.sleep) def do_something(sc): print "Doing stuff..." # Call your API HERE s.enter(10, 1, do_something, (sc,)) return your_value or your template s.enter(10, 1, do_something, (s,)) s.run() def home(request, sc): api_value = do_something(sc) return rendertemplate(request, 'template.html', {'api_value': api_value}