我正在尝试用 Python 编写一个 Web 应用程序,它由两部分组成:
- 基于 Django 的用户界面,允许每个用户设置某些任务
- 工作进程(每个用户一个),当由用户启动时,在后台执行任务而不冻结 UI。
由于我在视图中创建的任何对象都不是持久的,因此我无法跟踪工作进程。我什至不确定如何完成这项任务。有任何想法吗?
我正在尝试用 Python 编写一个 Web 应用程序,它由两部分组成:
由于我在视图中创建的任何对象都不是持久的,因此我无法跟踪工作进程。我什至不确定如何完成这项任务。有任何想法吗?
这似乎是一个可以用Celery解决的问题。每个用户在 Celery 中启动一个异步任务,最终您在 Django 中再次获得结果。
Celery 返回一个AsyncResult
用于等待任务完成或检查是否完成的实例。
你可以试试 celery,因为它对 django 很友好。但老实说,我不喜欢它(错误 :)
我们将切换到Gearman。编写自己的工作生产者和消费者(工人)是一种乐趣!