我在使用django.db模型在dialplan内部运行freeswitch和一些python脚本时遇到了一个问题。无论何时启动,它都会导致错误:
freeswitch@ubuntu> 2013-08-15 06:56:08.094348 [ERR] mod_python.c:231 Error importing module
2013-08-15 06:56:08.094348 [ERR] mod_python.c:164 Python Error by calling script "fs_scripts.ringback": <type 'exceptions.IOError'>
Message: [Errno 10] No child processes
Exception: None
Traceback (most recent call last)
File: "/home/piotrek/lettel/fs_scripts/ringback.py", line 19, in <module>
File: "/home/piotrek/lettel/api/call.py", line 3, in <module>
File: "/usr/local/lib/python2.7/dist-packages/django/db/__init__.py", line 11, in <module>
File: "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py", line 184, in inner
File: "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 42, in _setup
File: "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 93, in __init__
File: "/usr/local/lib/python2.7/dist-packages/django/utils/importlib.py", line 35, in import_module
File: "/home/piotrek/lettel/lettel/settings.py", line 13, in <module>
File: "/usr/local/lib/python2.7/dist-packages/djcelery/__init__.py", line 25, in <module>
File: "/usr/local/lib/python2.7/dist-packages/celery/__compat__.py", line 135, in __getattr__
File: "/usr/local/lib/python2.7/dist-packages/celery/_state.py", line 19, in <module>
File: "/usr/local/lib/python2.7/dist-packages/celery/utils/__init__.py", line 22, in <module>
File: "/usr/local/lib/python2.7/dist-packages/kombu/entity.py", line 10, in <module>
File: "/usr/local/lib/python2.7/dist-packages/kombu/abstract.py", line 12, in <module>
File: "/usr/local/lib/python2.7/dist-packages/kombu/connection.py", line 24, in <module>
File: "/usr/local/lib/python2.7/dist-packages/kombu/log.py", line 8, in <module>
File: "/usr/local/lib/python2.7/dist-packages/kombu/utils/compat.py", line 68, in <module>
File: "/usr/lib/python2.7/platform.py", line 1337, in system
File: "/usr/lib/python2.7/platform.py", line 1304, in uname
File: "/usr/lib/python2.7/platform.py", line 1039, in _syscmd_uname编辑:导致错误的行是从django.db导入的简单代码:
from django.db import models整个设置已经在一些我无法访问的服务器上运行,所以django应用程序或脚本似乎没有任何问题……
任何帮助都将不胜感激,因为我已经没有办法解决这个问题了…
发布于 2013-08-16 09:54:40
我不知道你的性能和可扩展性要求,尽管软交换有实时要求运行rtp流和信令。所以在mod_python下运行django应用程序并不是一个好的解决方案。此外,这与python解释器直接不同,有些东西不能工作。您可以在此处查看mod_python问题:mod_python issues
我建议您在客户端/服务器架构中拆分您的python解决方案。在mod_python下运行的脚本将向您的Django应用程序发出查询。这样你将摆脱Freeswitch方面的复杂性,获得可伸缩性,提高性能,并最有可能让一切正常工作。
https://stackoverflow.com/questions/18255380
复制相似问题