config.py с оператором if в Flask - PullRequest
0 голосов
/ 11 марта 2019

Есть ли вероятность, что у меня возникнут проблемы с использованием оператора if внутри файла config.py в фляге? Я видел несколько примеров таких действий, но, возможно, я делаю что-то не так, потому что сельдерей не распознает 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

---- UPDATE ----

Это сообщение об ошибке, которое выдает мне сельдерей, но только иногда я получаю эти ошибки, другие AsyncResult работает нормально:

AttributeError: 'DisabledBackend' object has no attribute '_get_task_meta_for'

1 Ответ

0 голосов
/ 11 марта 2019

Из моего исследования я обнаружил, что никто этого не делает, и это плохая практика, гораздо более чистое иметь config.py с базовой конфигурацией для тестирования, а затем я создаю другое для моего сервера.

app.config.from_object('yourapplication.default_settings')
app.config.from_envvar('YOURAPPLICATION_SETTINGS')

и добавление этой второй строки кода теперь мне нужно только установить новую переменную env на сервере, и у меня есть 2 чистых файла с переменными конфигурации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...