2016-10-03 47 views
0

我有一个Celery任务,其任务是将文件下载到本地目录,然后在下载完成后上载到S3存储桶。Python Celery - 权限问题 - 无法上传下载任务中的文件

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

我做了一个任务刚刚创建的目录,用一个方法调用:

os.mkdirs(path, 777) 

,它创造的权限300

这是目录,尽管

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

配置。

根据docs,最后一个选项允许芹菜创建一个在上面指定的用户/组所拥有的目录。那么多事情正在发生,但关于权限没有任何说法。

有没有办法解决这个问题?

回答

0

的CELERY_CREATE_DIR只告诉芹菜创建其工作目录:

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

我相信你的问题是与os.mkdirs。根据os.mkdir docmode可能会在您的系统上被忽略,您需要使用os.chmod来更改模式。