【问题标题】:redirection to wait until python script has completed its task in django重定向等到 python 脚本在 django 中完成其任务
【发布时间】:2014-06-08 12:47:56
【问题描述】:

我正在运行一个运行 hive 的 python 脚本。现在我想将它与 django 集成,并希望在配置单元查询完成后将其重定向到不同的视图,然后等待它在同一视图上完成。我该怎么做?

任何帮助都至关重要

【问题讨论】:

    标签: django python-2.7 hive


    【解决方案1】:

    您可以尝试使用任何任务队列解决方案,例如 Celery、Huey 或 RQ (djangopackages)。

    1. 将任务放入队列
    2. 将用户重定向到带有<meta http-equiv="refresh" content="5"> in html head 的任务页面

    任务页面的简单视图示例:

    def task_in_progress(request, task_in_queue_id):
        task = get_task_from_queue(task_in_queue_id)
        if task.is_comlete():
            HttpResponseRedirect(reverse('task_completed', args=(task_in_queue_id,)))
        return render(request, 'task_in_progress.html')
    

    【讨论】:

    • 感谢您的回复。但我仍然不清楚如何在这里使用任务和队列。如果可能,请详细说明此解决方案
    • @user2345523 你读过usage guide吗?
    • 是的,我确实有。但这并不能正确解释如何在 django 项目中使用 rq。我直到修改 settings.py 文件(添加 rq_usage 和导入),但在队列中添加我的视图功能仍然不清楚。另外,我只需要队列中的单个任务,完成后其他脚本可以正常工作
    • 好的,所以我可以检查作业是否完成,但只能在某个时间点完成(我可以添加睡眠),但在运行进程之前,我不知道它会花多少时间请尽快完成工作。请尽快提供帮助
    猜你喜欢
    • 2020-11-07
    • 2021-05-22
    • 1970-01-01
    • 1970-01-01
    • 2013-07-07
    • 2010-09-26
    • 2013-07-17
    • 2013-05-26
    相关资源
    最近更新 更多