我有一个芹菜任务,它的工作是将文件下载到本地目录,然后在下载完成后上传到S3桶。
我的问题是,最近更新的工人,我得到权限拒绝错误时访问文件夹上传。除了从脚本方法到基于类的实现之外,代码基本上没有改变。
我创建了一个任务来创建目录,使用一个方法调用:
os.mkdirs(path, 777)
,创建权限为300
尽管
CELERYD_USERS='ubuntu'
CELERYD_GROUP='ubuntu'
CELERYD_CREATE_DIRS=1
根据文档,最后一个选项允许芹菜创建一个由上面指定的用户/组拥有的目录。发生了很多事情,但是没有提到权限。
有别的办法吗?
CELERY_CREATE_DIR只告诉芹菜创建它的操作目录:
总是创建目录(log目录和pid文件目录)。默认情况下,只在没有自定义logfile/pidfile设置时创建目录。
我相信你的问题出在os.mkdirs
上。根据操作系统。mkdir doc, mode
可能在您的系统中被忽略,您需要使用os.chmod
来更改模式