celery 錯誤相關:Monkey-patching not on the main thread; threading.main_thread().join() will hang from a greenlet


/Users/wangpingyang/.pyenv/versions/3.7.2/lib/python3.7/site-packages/httprunner/__init__.py:5: MonkeyPatchWarning: Monkey-patching outside the main native thread. Some APIs will not be available. Expect a KeyError to be printed at shutdown.
  import gevent.monkey;gevent.monkey.patch_all()
/Users/wangpingyang/.pyenv/versions/3.7.2/lib/python3.7/site-packages/httprunner/__init__.py:5: MonkeyPatchWarning: Monkey-patching not on the main thread; threading.main_thread().join() will hang from a greenlet
  import gevent.monkey;gevent.monkey.patch_all()
/Users/wangpingyang/.pyenv/versions/3.7.2/lib/python3.7/site-packages/httprunner/__init__.py:5: MonkeyPatchWarning: Monkey-patching ssl after ssl has already been imported may lead to errors, including RecursionError on Python 3.6. It may also silently lead to incorrect behaviour on Python 3.7. Please monkey-patch earlier. See https://github.com/gevent/gevent/issues/1016. Modules that had direct imports (NOT patched): ['urllib3.contrib.pyopenssl (/Users/wangpingyang/.pyenv/versions/3.7.2/lib/python3.7/site-packages/urllib3/contrib/pyopenssl.py)']. 
  import gevent.monkey;gevent.monkey.patch_all()

方法一
import gevent.monkey;gevent.monkey.patch_all(thread=False)

方法二
<pythonpath>/Users/wangpingyang/.pyenv/versions/3.7.2/lib/python3.7/site-packages</pythonpath>

方法三


 
B2206B5D80C227FC45F04A5EF92816A2.png

方法四
直接將Python版本更換為3.6版本

注意:我是在celery中調用多協程的任務,最后錯誤消失,但沒有辦法運行任務,改為多線程后,可以運行了
作者:沈宥
鏈接:https://www.jianshu.com/p/fb8a9ee7a349
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM