如何解决如何在视图函数上运行 Django APScheduler
我想每天最好在特定时间运行 Django 视图,该视图调用 API 并将数据保存在外键关系模型中。我不能在 python 中使用 schedule 包,因为它需要无限循环,不能与 Web 服务器一起运行。 Django APScheduler 看起来像一个优雅的解决方案,尽管问题是视图函数将请求作为参数传递给 APScheduler,我需要使用用户的 id 保存数据,因此出现名称错误
views.py
def sync_data():
api_url = ""
access_token = RefreshToken.response
headers = {
'Authorization': 'Bearer {}'.format(access_token),'Content-Type': 'application/json;encoding=utf-8',}
user_id = request.user.id
response = requests.post(api_url,data=json.dumps(body),headers=headers)
r = response.json()
s = Model(user=request.user,starttime = startdate,endtime = endate,field = i['value'][0])
s.save()
return redirect('app:dash')
调度程序.py
from .views import sync_data
def start():
scheduler = BackgroundScheduler()
scheduler.add_jobstore(DjangoJobStore(),"default")
# run this job every 24 hours
scheduler.add_job(sync_data,'interval',hours=24,name='sync_daily_data',jobstore='default')
register_events(scheduler)
scheduler.start()
print("Scheduler started...",file=sys.stdout)
我该怎么做?感谢我得到的任何帮助
解决方法
您可以使用 Django-Celery 包。文档Here
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。