Python进程无法在使用Nginx的uwsgi上异步工作,但在manage.py runserver上工作良好

时间:2019-09-22 11:31:53

标签: python django nginx uwsgi

我尝试使用回调构建异步函数,当我尝试python manage.py runserver时,它可以正常工作,但是当我在具有uWSGI和nginx的服务器上使用它时,代码将同步运行,并且主进程等待子进程完成

我尝试使用线程代替它来正常工作,但是在我的代码中,我使用了一些全局系统功能,该功能在诸如 -sys.stdout

import time
import sys


def my_process_func(arg, arg2):
    sys.stdout = open(arg+".txt", 'a+', encoding='utf8')
    print("Running process! Args: " + arg + ', ' + arg2)
    time.sleep(10)
    print("Done!")

p = Process(target=my_process_func, args=("p1", "test"))
p2 = Process(target=my_process_func, args=("p2", "test2"))
p.start()
p2.start()
print("Spun off process")

当我使用python服务器运行此代码时,结果是创建两个带有输出的txt文件

Spun off process

p1.txt

Running process! Args: p1, test Done!

p2.txt

Running process! Args: p2, test2 Done! 但是使用uwsgi的结果是

Running process! Args: p1, test Done!

Spun off process

0 个答案:

没有答案