Обработчики сигналов и ведение журнала в Python

В документации для модуля регистрации говорится, что

Если вы реализуете асинхронные обработчики сигналов с помощью модуля signal, вы не сможете использовать ведение журнала из таких обработчиков. Это связано с тем, что реализации блокировки в модуле потоковой передачи не всегда реентерабельны, и поэтому не могут быть вызваны из таких обработчиков сигналов.

Это предполагает, что не следует выполнять вызовы регистрации из кода, вызываемого обработчиком сигнала прямо или косвенно. Если вы будете делать это время от времени, программа будет оставлена ​​в состоянии, когда помогает только kill -9.

Важный вопрос для меня сейчас следующий. Но когда я использовал тот же проект в appengine sdk, он терпел неудачу всякий раз, когда пытался импортировать GeoIP ...

Недавно я попробовал geodjango, и у меня все получилось, даже без установки этой библиотеки C. Но когда я использовал тот же проект в appengine sdk, он терпел неудачу всякий раз, когда пытался импортировать класс GeoIP. Затем я посмотрел на различия, я загрузил новый appengine sdk + django 1.2, и проблема осталась! Я попробовал «оболочку python manage.py»

из django.contrib.gis import utils

utils.HAS_GEOIP #returns False (django in appengine)

, но когда я делаю то же самое в собственном приложении django, та же строка возвращает True что мне здесь не хватает?

6
задан Ghassen Telmoudi 5 January 2011 в 07:19
поделиться