我尝试使用回调构建异步函数,当我尝试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