FastApi使用Celery的任务时报错AssertionError: daemonic processes are not allowed to have children。
报错的起因是我在这个任务中使用了process
函数,相当于开了一个子进程,而uvicorn默认启动的是守护进程(daemon),而一般情况下守护进程是不能创建子进程的。
解决办法,在celery启动时加个参数 -P threads
,就像下面这样:
celery -A celery_queue worker -B -l INFO -P threads
问题解决。