Python 添加函数调度时本地Django服务器无响应
我正在尝试使用 图书馆 但是,我的本地Django服务器在将计划保存到代码中后,在系统检查期间挂起并没有响应。只有当我删除计划代码时,系统检查才会通过,服务器才能正常运行 我直接从文档中复制了示例,服务器没有返回任何错误,因此我不确定问题出在哪里 views.pyPython 添加函数调度时本地Django服务器无响应,python,django,scheduled-tasks,schedule,Python,Django,Scheduled Tasks,Schedule,我正在尝试使用 图书馆 但是,我的本地Django服务器在将计划保存到代码中后,在系统检查期间挂起并没有响应。只有当我删除计划代码时,系统检查才会通过,服务器才能正常运行 我直接从文档中复制了示例,服务器没有返回任何错误,因此我不确定问题出在哪里 views.py .... def test_task(): user = user.objects.get(pk=1) user.task_complete = True user.save() schedule.eve
....
def test_task():
user = user.objects.get(pk=1)
user.task_complete = True
user.save()
schedule.every(10).minutes.do(test_task)
while True:
schedule.run_pending()
time.sleep(1)
....
终端输出(挂在此处)
Django根据其设置加载(导入)文件
当您将此while
循环放入全局范围时,它将在导入时执行。它运行while循环,直到完成为止。而且从来没有做过。如果您想亲自查看这是否是根本原因,可以在此处添加print
语句
通常人们会使用芹菜中的定期任务
,但对于你的需求来说,这可能是一种过度使用
我建议您创建一个脚本,这样您就可以运行python manage.py test_任务
,并且在操作系统级别上只需添加一个cron作业,该作业将每10分钟运行一次该命令。Django根据其设置加载(导入)文件
当您将此while
循环放入全局范围时,它将在导入时执行。它运行while循环,直到完成为止。而且从来没有做过。如果您想亲自查看这是否是根本原因,可以在此处添加print
语句
通常人们会使用芹菜中的定期任务
,但对于你的需求来说,这可能是一种过度使用
我建议您创建一个脚本,这样您就可以运行
python manage.py test_任务
,并且在操作系统级别上只需添加一个cron作业,该作业将每10分钟运行一次该命令。谢谢,我在while循环中手动引发了一个异常以确认这一点。如果您想继续使用此库,是否有解决方法?据我所知,不是。您可能会找到一些其他解决方案,但它们有一些主要的注意事项。实际上只有两个选项是有意义的,cron和芹菜。谢谢,我在while循环中手动引发了一个异常来确认这一点。如果您想继续使用此库,是否有解决方法?据我所知,不是。您可能会找到一些其他解决方案,但它们有一些主要的注意事项。实际上只有两种选择是有意义的,cron和芹菜。
chaudim@TD app_one % python3 manage.py runserver
Watching for file changes with StatReloader
Performing system checks...