Форум сайта python.su
Приветствую.
Появилась необходимость заполучить 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')
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'.
Отредактировано soln (Дек. 5, 2015 18:01:29)
Офлайн
Создай команду в проекте , а в кроне запусти её через абсолютный путь до сценария /Project/dir/manage.py your_command. Это рекомендуемый и общепринятый способ запуска сценариев с джанго-настройками. Проблемы с логером должны уйти. Вручную тебе прописывать инициализацию настроек и т.п. не будет необходимости, ссылка на доку ниже.
Standalone scriptshttps://docs.djangoproject.com/en/dev/howto/custom-management-commands/
Custom management commands are especially useful for running standalone scripts or for scripts that are periodically executed from the UNIX crontab or from Windows scheduled tasks control panel.
Отредактировано buddha (Дек. 5, 2015 18:28:23)
Офлайн
buddhaСпасибо.
Создай команду в проекте , а в кроне запусти её через абсолютный путь до сценария /Project/dir/manage.py your_command. Это рекомендуемый и общепринятый способ запуска сценариев с джанго-настройками. Проблемы с логером должны уйти. Вручную тебе прописывать инициализацию настроек и т.п. не будет необходимости, ссылка на доку ниже.
Офлайн