2017-02-11 19 views
0

Запуск сельдерея с Django на производственном сервере Debian под пользователем, который не может писать в проекте, но при инициализации бильярдного дерева необходимо создать файл для хранения pid (celerybeat.pid).Celery Django 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 

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

Thanks

ответ

0

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

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

Я надеюсь, что это помогает :-)

+0

привет. Да, я пытаюсь запустить его с супервайзером. Работник сельдерея работает, но нет. С настройками django в файле настроек django. И у меня есть запись там: CELERYBEAT_PID_FILE = "/var/run/celery/celerybeat.pid" Но в любом случае журнал говорит: celery.platforms.LockFailed: [Errno 13] Разрешение отклонено: '/pathtoproject/celerybeat.pid' Кажется, как этот параметр не может быть применен или smthg, как это – napilnik