Сельдерей Результат Backend на окнах - PullRequest
0 голосов
/ 04 сентября 2018

Я просматривал документы несколько раз, но не смог понять, как нам настроить серверную часть файловой системы на компьютере с Windows. Т.е., если у меня есть структура каталогов, подобная этой C:\Users\A\B\C, и я указываю backend=file://C:\\Users\\A\\B\\C\\, я получаю ошибку NoneType.

В то время как в Linux это было так же просто, как file:///var/celery/results/

Я застрял на этом уже несколько часов. Любая подсказка была бы действительно полезна?

Ответы [ 2 ]

0 голосов
/ 25 июля 2019

Если вы используете UNC-путь (например, с помощью общего файлового ресурса SMB или чего-то еще), вам может потребоваться заменить обратную косую черту \ на косую черту /.

В моем случае мне нужно записать настройку следующим образом (предположим, использовать новые строчные настройки), чтобы библиотека Celery могла правильно ее проанализировать в среде Windows.

# celeryconfig.py
broker_url = 'filesystem:////<hostname>/<sharename>/broker/messages'
broker_transport_options = {
    'data_folder_in': '//<hostname>/<sharename>/broker/out',
    'data_folder_out': '//<hostname>/synoshare/broker/out',
    'data_folder_processed': '//<hostname>/<sharename>/broker/processed'
}
result_backend = 'file:////weidavm.syno/<sharename>/broker/results'
result_persistent = True

Протестировано под Windows 10, Python 3.6 и Celery 4.x.

0 голосов
/ 04 сентября 2018

Это работает для меня в Windows 10 (Celery 4.2.1). Хотя на ваш вопрос я не уверен на 100%, хотите ли вы использовать файловую систему в качестве брокера сообщений или в качестве бэкенда для результата:

app = Celery('app')
app.conf.update({
    'broker_url': 'filesystem://',
    'broker_transport_options': {
        'data_folder_in': '/broker/out',
        'data_folder_out': '/broker/out',
        'data_folder_processed': '/broker/processed'
    },
    'result_backend': 'file:///broker/results',
    'result_persistent': True

})

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