2016-10-03 46 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來更改模式。