我有一个运行Nginx和Gunicorn的Django项目.其中一个应用程序使用Exscript与网络设备交互,后者又使用Paramiko.有些设备在Gunicorn后面无法正常工作.
完全相同的代码可以在django-admin shell中正常工作.如果我启动内置的django服务器,它也会工作,但如果我绕过nginx,我仍然会收到错误,并直接连接到Gunicorn.
我尝试将功能转移到芹菜任务,它有同样的问题,但仅限于Gunicorn.
我使用django-extensions编写了一个脚本,该脚本可以从命令行运行,但如果通过子进程调用则会失败.但仅限于Gunicorn.
失败的设备似乎都是F5 LTM,看起来exscript对象上的缓冲区正在以某种方式被修改.如果我猜我会说,Gunicorn和Exscript /的paramiko莫名其妙地踩着对方的记忆,或许是Gunicorn设置一些环境变量Exscript是捡.
在任何情况下,我都是彻底难倒的,并会感谢任何关于如何解决这个问题的指导.