0

在使用 django.db 模型在拨号计划中使用一些 python 脚本运行 freeswitch 时,我遇到了一个问题。每当它启动时,它都会导致错误:

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 的简单导入:
从 django.db 导入模型

整个设置已经在我无法访问的某些服务器上运行,因此 django 应用程序或脚本似乎没有问题......

任何帮助将不胜感激,因为我已经没有如何解决这个问题的想法了......

4

1 回答 1

0

我不知道您的性能和可扩展性要求,尽管软交换机有实时要求来运行 rtp 流和信令。所以在 mod_python 下运行 django 应用程序并不是一个好的解决方案。此外,这与直接 python 解释器不同,某些东西不起作用。您可以在此处查看 mod_python 问题: mod_python 问题

我建议您将您的 python 解决方案拆分为客户端/服务器架构。在 mod_python 下运行的脚本将对您的 Django 应用程序进行查询。这样,您将摆脱 Freeswitch 方面的复杂性,获得可扩展性,提高性能,并且很可能使一切正常。

于 2013-08-16T01:54:40.083 回答