什么是芹菜工人使用/ root作为主目录?

时间:2015-06-18 08:26:30

标签: python rabbitmq celery supervisord

我们正在使用Celery和RabbitMQ来处理工作。他们都由主管经营,以便他们可以活着。

有些作业期望用户A的主目录中有一个文件。因此我们在主管中以用户A的身份运行芹菜工作者。但是当工作正在处理时,它正在扩大“工作”。 as' / root'。为什么会这样?我们如何通过扩展'〜'来确保它能够找到主目录。因为我们的代码需要文件跟随'〜'在很多地方?

1 个答案:

答案 0 :(得分:1)

您可能需要使用supervisord的{​​{1}}配置指令以专用用户身份运行芹菜进程,而不是user

你也应该明确地将chdir用于工作目录 - 无论是在你的芹菜代码中还是使用主管root设置。

如果你想依靠directory工作,你也应该设置环境变量~。但是$HOME是一个shell扩展,可能并不总是有效。最便携的解决方案是依靠~设置。

directory

/etc/supervisor.d/celery.conf