Python Django的合作项目

Python Django的合作项目,python,django,python-2.7,Python,Django,Python 2.7,上下文:我正在编写一个Django脚本,如下所示。据我所知,下面的循环将阻止Django应用程序,并阻止其他进程运行(例如请求处理程序) 问题:我应该怎么做Django将运行以下循环,并在触发其他脚本时产生运行其他脚本。当所述脚本完成时,循环将在同一索引上恢复 # ./app.py while True: items = queryItems() for item in items: process(item) 约束:答案应该适用于Python 2.7,并且只

上下文:我正在编写一个
Django
脚本,如下所示。据我所知,下面的循环将阻止
Django
应用程序,并阻止其他进程运行(例如请求处理程序)

问题:我应该怎么做
Django
运行以下循环,并在触发其他脚本时产生运行其他脚本。当所述脚本完成时,循环将在同一索引上恢复

# ./app.py

while True:
    items = queryItems()
    for item in items:
        process(item)
约束:答案应该适用于
Python 2.7
,并且只使用支持
Python 2.7
的库

据我所知,下面的循环将阻止Django应用程序并阻止其他进程运行(例如请求处理程序)

这部分是正确的;循环将阻止当前请求,直到它完成为止,但是它不会阻止其他请求同时发生(来自其他客户端)。传入的每个请求都将在单独的工作进程中执行

我应该怎么做才能让Django运行以下循环,并在触发其他脚本时让其运行

我想您在这里要问的是“如何异步/并行运行
进程(项)
?”。Django没有任何东西可以像开箱即用一样并行运行任务。如果要等到所有处理完成后再返回响应,可以使用多线程/多进程方法。另一个选项是使用它,它是一个异步任务运行程序,可以很好地插入django。芹菜允许任务执行完全独立于请求/响应周期,并具有许多用于检查任务状态等的优秀功能。

以下几点:

据我所知,下面的循环将阻止Django应用程序并阻止其他进程运行(例如请求处理程序)

这部分是正确的;循环将阻止当前请求,直到它完成为止,但是它不会阻止其他请求同时发生(来自其他客户端)。传入的每个请求都将在单独的工作进程中执行

我应该怎么做才能让Django运行以下循环,并在触发其他脚本时让其运行


我想您在这里要问的是“如何异步/并行运行
进程(项)
?”。Django没有任何东西可以像开箱即用一样并行运行任务。如果要等到所有处理完成后再返回响应,可以使用多线程/多进程方法。另一个选项是使用它,它是一个异步任务运行程序,可以很好地插入django。芹菜允许任务执行完全独立于请求/响应周期,并且有很多很好的功能来检查任务的状态等。

你的意思是django将派生一个进程来处理每个即将到来的请求吗?你能给我看一下文档吗?你的意思是django将派生一个进程来处理每个即将到来的请求吗你给我看文档了吗?自从你最初问这个问题已经三年了,但是你仍然在Python 2.7约束下工作吗?自从你最初问这个问题已经三年了,但是你仍然在Python 2.7约束下工作吗?