Python Celery - 权限问题 - 无法从下载任务上载文件

时间:2016-10-03 19:33:27

标签: python django celery

我有一个Celery任务,其任务是将文件下载到本地目录,然后在下载完成后上传到S3存储桶。

我的问题是,最近更新了工作人员,我在访问要上传的文件夹时收到权限被拒绝错误。除了从脚本方法到基于类的实现之外,代码基本上没有变化。

我只用一个方法调用来创建目录:

os.mkdirs(path, 777)

并创建具有权限300

的目录

这是尽管

CELERYD_USERS='ubuntu'
CELERYD_GROUP='ubuntu'
CELERYD_CREATE_DIRS=1

在配置中。

根据docs,最后一个选项允许celery创建一个由上面指定的用户/组拥有的目录。这种情况正在发生,但没有任何关于权限的说法。

有什么方法吗?

1 个答案:

答案 0 :(得分:0)

CELERY_CREATE_DIR只告诉celery创建其操作目录:

  

始终创建目录(日志目录和pid文件目录)。默认情况下,仅在未设置自定义日志文件/ pidfile时创建目录。

我相信你的问题在于os.mkdirs。根据{{​​3}},系统可能会忽略mode,您需要使用os.chmod来更改模式。