Разрешения Celery Django celerybeat.pid

Запуск Celery с Django на производственном сервере Debian под пользователем, который не может писать в директорию проекта, но при инициализации celery beat необходимо создать файл для хранения pid (celerybeat.pid).

>   File
> "/webapps/bookingsoft2016/lib/python3.5/site-packages/celery/platforms.py",
> line 213, in write_pid
>     pidfile_fd = os.open(self.path, PIDFILE_FLAGS, PIDFILE_MODE) celery.platforms.LockFailed: [Errno 13] Permission denied:
> '/path_to_project/celerybeat.pid'

Как я могу изменить местоположение этого файла?

--pidfile=/var/run/celery/celerybeat.pid - doesn't seems to work

Или любое другое решение, чтобы избежать этого?

Спасибо


person napilnik    schedule 11.02.2017    source источник


Ответы (1)


Демонизировать не пробовали?
Отредактируйте файл /etc/default/celeryd: и установите CELERYD_PID_FILE="/var/run/celery/celerybeat.pid"
Вы можете найти более подробную документацию здесь [пример настройки демонизации сельдерея][1]

[1]: http://docs.celeryproject.org/en/latest/userguide/daemonizing.html#example-configuration

Надеюсь, это поможет :-)

person Madra David    schedule 11.02.2017
comment
Здравствуй. Да, я пытаюсь запустить его с супервизором. Сельдерей рабочий работает, а бить нет. Настройки django находятся в файле настроек django. И у меня там есть запись: CELERYBEAT_PID_FILE = /var/run/celery/celerybeat.pid Но в любом случае журнал говорит: celery.platforms.LockFailed: [Errno 13] Отказано в доступе: '/pathtoproject/celerybeat.pid' Похоже, этот параметр может' нельзя применять или что-то в этом роде - person napilnik; 11.02.2017