Если Вы используете ASP.Net MVC
(как StackOverflow делает), я записал легкий следовать руководству с 3 шагами по тому, как автоматически получить и отобразить последний пересмотр SVN . Руководство было вдохновлено путем размышления мне об этом самом вопросе!: o)
«У меня работает нормальный сайт Django.»
Предположительно под Apache с использованием mod_wsgi или аналогичный.
Если вы используете mod_wsgi, встроенный в Apache, обратите внимание, что Apache является многопоточным, и ваши потоки Python смешаны с потоками Apache. Анализ того, что блокирует, может показаться неприглядным.
Если вы используете mod_wsgi в режиме демона (что должно быть), то ваш Django - это отдельный процесс.
Почему бы не продолжить этот шаблон проектирования и не сделать своего "слушателя трепа" отдельным процессом.
Если вы хотите, чтобы этот процесс запускался на любом из нескольких серверов, запустите его из init.rc
или cron
.
Потому что это ' В качестве отдельного процесса он не будет требовать внимания. Ваш процесс Django выполняется быстро, а ваш слушатель Jabber работает независимо.
I have been successful using the method you described as your current method. You'll find by reading the docs that the twisted DB api uses threads under the hood because most SQL libraries have a blocking API.
I have a twisted server that saves data from power monitors in the field, and it does it by starting up a subthread every now and again and calling my Django save code. You can read more about my live data collection pipeline (that's a blog link).
Are you saying that you are starting up a sub thread and that is still blocking?
У меня есть работающее приложение Twisted, в котором я использую Django ORM. Я не откладываю это. Я знаю, что это неправильно, но проблем пока не было.