我有一个Celery任务,其任务是将文件下载到本地目录,然后在下载完成后上传到S3存储桶。
我的问题是,最近更新了工作人员,我在访问要上传的文件夹时收到权限被拒绝错误。除了从脚本方法到基于类的实现之外,代码基本上没有变化。
我只用一个方法调用来创建目录:
os.mkdirs(path, 777)
并创建具有权限300
这是尽管
CELERYD_USERS='ubuntu'
CELERYD_GROUP='ubuntu'
CELERYD_CREATE_DIRS=1
在配置中。
根据docs,最后一个选项允许celery创建一个由上面指定的用户/组拥有的目录。这种情况正在发生,但没有任何关于权限的说法。
有什么方法吗?
答案 0 :(得分:0)
CELERY_CREATE_DIR只告诉celery创建其操作目录:
始终创建目录(日志目录和pid文件目录)。默认情况下,仅在未设置自定义日志文件/ pidfile时创建目录。
我相信你的问题在于os.mkdirs
。根据{{3}},系统可能会忽略mode
,您需要使用os.chmod
来更改模式。