Tag: лесозаготовки

Динамическая (то есть настройка времени выполнения) Конфигурация журнала для приложения на основе Django + Celery

Нам нужно настроить уровни журналов на сервере во время выполнения. Мы создаем приложение SAAS с использованием Django, и мы должны иметь возможность включить ведение журнала для каждого арендатора. Я пытаюсь найти лучший способ сделать это. В качестве первого шага я создал способ динамически изменять уровни журналов (для всего приложения). Я вижу, что нет примеров этого. […]

Сельскохозяйственная лесозаготовка: постоянный способ входа в систему и за ее пределами

Я выполняю задачу Celery, которая выполняет функцию. Эта функция генерирует некоторую информацию о регистрации. Используя регистратор get_task_logger, я могу распечатать информацию о регистрации на центральном уровне Celery. from celery.utils.log import get_task_logger logger = get_task_logger(__name__) def my_func_called_inside_a_task(): logger.debug("SOME OUTPUT HERE") Тем не менее, я также хочу импортировать эту функцию как обычный скрипт python (не используя Celery) […]

Как программно сказать, что сельдерей отправляет все сообщения журнала в stdout или stderr?

Как включить программный сбор сельдерея? С терминала это прекрасно работает: celery worker -l DEBUG Когда я вызываю get_task_logger(__name__).debug('hello') , я вижу, что сообщение появляется в терминале. (отображаются stdout и stderr). Я могу даже import logging и вызвать logger.info('hi') и увидеть это тоже. (оба работают) Однако, разрабатывая задачу, я предпочитаю использовать тестовый модуль и вызывать функцию […]

Сельдерей обрезает сообщения журнала

Мой журнал сельдерея последовательно усекает (не очень) длинные сообщения об ошибках, например: [2012-04-08 04:53:10,084: INFO/MainProcess] Task mainapp.tasks.async_submitter[2df2fe93-156b-4944-9ecf-c55ba53e8aaa] succeeded in 0.190640926361s: 'An error occurred during the submission of… Излишне говорить, что это устраняет половину цели регистрации. Как я могу остановить это? Я использую сельдерей с django-сельдереем (через django-supervisor с супервизором) на linux.

Что такое celery.utils.log.ProcessAwareLoggerobject, выполняющий в logging.Logger.manager.loggerDict

Я проверяю logging.Logger.manager.loggerDict, делая: import logging logging.Logger.manager.loggerDict и дикт выглядит следующим образом: { 'nose.case': <celery.utils.log.ProcessAwareLoggerobjectat0x112c8dcd0>, 'apps.friends': <logging.PlaceHolderobjectat0x1147720d0>, 'oauthlib.oauth2.rfc6749.grant_types.client_credentials': <celery.utils.log.ProcessAwareLoggerobjectat0x115c48710>, 'apps.adapter.views': <celery.utils.log.ProcessAwareLoggerobjectat0x116a847d0>, 'apps.accounts.views': <celery.utils.log.ProcessAwareLoggerobjectat0x116976990>, } There are more but I truncated it Мои вопросы: Почему сельдерей участвует в регистрации различных других приложений, не связанных с сельдереем? Это потому, что ведение журнала выполняется в асинхронном режиме, и […]

Piedon Celery – рабочий, игнорирующий loglevel INFO

Я использую следующую команду: работник сельдерея -l info -A django_app –concurrency = 10 –autoreload Но журналы DEBUG все еще –logfile , так же, как и при использовании -l warning and –logfile Любая идея, почему сельдерей игнорирует настройки журнала? Дальнейшие подробности: журналы поступают из suds Python который выводится на регистратор, используя DEBUG.

Задание журнала Django Celery

У меня есть установка Celery в проекте Django, над которым я работаю. Я хотел бы отделить лесозаготовки для задач сельдерея и остатков сельдерейных бревен (сельдерея, сельдерея и т. Д.). Основываясь на документации по сельдерею ( http://docs.celeryproject.org/en/latest/userguide/tasks.html#logging ), мне кажется, что я просто могу определить регистратор Django для «celery.task», который должен делать это. Однако, когда я […]

Использовать стандартную регистрацию Python в сельдерее

Я должен использовать сельдерей в уже существующей системе. В предыдущей версии системы уже использовалась стандартная регистрация Python. Мой код похож на приведенный ниже код. Процесс один и два процесса – это нецелевые функции, которые регистрируются повсюду. Мы используем протоколирование для отслеживания потери данных, если что-то происходит плохо. @task def add(x,y): process_one(x,y) process_two(x,y) Как я могу […]

Лучшая практика лесозаготовки в Django Celery

Я пытаюсь запустить ведение сельдерей с Django . У меня есть регистрация настроек в settings.py чтобы перейти на консоль (это отлично работает, поскольку я размещаю на Heroku ). В верхней части каждого модуля у меня есть: import logging logger = logging.getLogger(__name__) И в моих задачах.py у меня есть: from celery.utils.log import get_task_logger logger = get_task_logger(__name__) […]

Отправлять сообщения журнала из всех задач сельдерея в один файл

Мне интересно, как настроить более конкретную систему ведения журнала. Все мои задачи logger = logging.getLogger(__name__) как логгер для всего модуля. Я хочу, чтобы сельдерей заходил в журнал «celeryd.log» и мои задачи «tasks.log», но я понятия не имел, как это сделать. Используя CELERYD_LOG_FILE из django- CELERYD_LOG_FILE я могу перенаправить все связанные с сельдереем сообщения журнала на […]

Python - лучший язык программирования в мире.