#flask #celery
#flask #сельдерей
Вопрос:
есть ли вероятность, что у меня возникли некоторые проблемы с использованием инструкции if внутри config.py файл в flask? я видел несколько примеров выполнения такой вещи, но, возможно, я делаю что-то неправильно, потому что celery не распознает conf ‘CELERY_RESULT_BACKEND’
class Config(object):
if 'VCAP_SERVICES' in os.environ:
print('Vcap detectado', file=sys.stdout)
REDIS_URL = os.environ.get('REDIS_BASE_URL').format(cert_type='required')
CELERY_BROKER_URL = os.environ.get('REDIS_BASE_URL').format(cert_type='CERT_REQUIRED')
else:
REDIS_URL = 'redis://'
CELERY_BROKER_URL = 'redis://localhost:6379/0'
CELERY_RESULT_BACKEND = CELERY_BROKER_URL
—-ОБНОВИТЬ—-
Ошибка, которую выдает мне сельдерей, заключается в следующем, но редко, всего несколько раз я получаю эти ошибки, другие AsyncResult работают нормально:
AttributeError: 'DisabledBackend' object has no attribute '_get_task_meta_for'
Комментарии:
1. Какую ошибку вы получаете?
2. Обновил сообщение
Ответ №1:
Из моего исследования я обнаружил, что никто этого не делает, и это плохая практика, гораздо более чисто иметь config.py с базовой конфигурацией для тестирования, а затем я создаю antother для своего сервера.
app.config.from_object('yourapplication.default_settings')
app.config.from_envvar('YOURAPPLICATION_SETTINGS')
и добавляя эту вторую строку кода, теперь мне нужно только установить новую переменную env на сервере, и у меня есть 2 чистых файла с ее конфигурационными переменными