【发布时间】:2014-05-20 12:53:44
【问题描述】:
我已经在 django 中设置了一个管理命令:
from django.core.management.base import BaseCommand, CommandError
class Command(BaseCommand):
""" Command to parse logs that can be called from django """
def handle(self, *args, **options):
parse_logs()
我可以使用 call_command 从 shell 或 python 调用。当我从视图中调用它时,此命令会停止对应用程序的所有其他请求,直到它完成为止。
我希望能够在后台运行此命令,可能使用单独的线程,并在网页上显示命令的结果,而无需重新加载页面。例如:
- 从网页调用命令
- 继续在网页中做其他事情
- 命令完成后,在网页上显示通知
- 永远不要重新加载网页
【问题讨论】:
-
使用Celery。
-
我知道芹菜。但是在我的环境中设置非常困难(没有特权),异步执行单个任务似乎有点过分。不能用ajax来做吗?
标签: python html django command