Появилась необходимость заполучить orm и конфигурацию logging в сторонний (работающий по крону ) скрипт.
На шел вот это:
calling-django-setup-is-required-for-standalone-django
И модель приезжает, а вот с логером проблемы.
import logging import os import sys os.environ['DJANGO_SETTINGS_MODULE'] = "Dance.settings" sys.path.append("/usr/local/www/Dance/") import django from django.conf import settings from Dance import settings as may_settings settings.configure(may_settings, DEBUG=True) django.setup() core_log = logging.getLogger('app.messenger.core') core_log.debug('core starting')
При исполнении кидает эксепшен.
AttributeError: ‘module’ object has no attribute 'LOGGING_CONFIG
однако:
soln@dance:/usr/local/www/Dance$ grep LOGGING_CONFIG /usr/local/lib/python2.7/dist-packages/django/conf/global_settings.py ./Dance/settings.py /usr/local/lib/python2.7/dist-packages/django/conf/global_settings.py:LOGGING_CONFIG = 'logging.config.dictConfig'.
То есть LOGGING_CONFIG определён в глобальных настройках django, однако похоже было перезаписан в процессе вызова settings.configure(may_settings, DEBUG=True) .
Что я делаю не так?
Ps.
Возможно мне вообще не стоит отрывать куски django и пихать их в крон. Может это принято делать иначе.
К примеру. Задача, есть у вас список пользователей, вы хотите отправить раз в год им письмо, в день рождения. И где то в их аккаунтах (orm) добавить к их счету кокой то там интаджер. Как принято реализовывать такое?