2016-10-03 2 views
0

Ich habe eine Sellerie-Aufgabe, deren Aufgabe es ist, Dateien in ein lokales Verzeichnis herunterzuladen und dann in einen S3-Bucket hochzuladen, wenn der Download abgeschlossen ist.Python Sellerie - Berechtigungsproblem - Dateien können nicht von einer Download-Aufgabe hochgeladen werden

Mein Problem ist, dass ich mit einem aktuellen Update der Arbeiter, erhalten Erlaubnis verweigert Fehler beim Zugriff auf den Ordner zum Hochladen. Der Code war grundlegend anders als von der Skript-Methode zur klassenbasierten Implementierung.

ich eine Aufgabe habe gerade die Verzeichnisse zu erstellen, mit einem einzigen Anruf Methode:

os.mkdirs(path, 777) 

und erstellt das Verzeichnis mit Berechtigungen 300

Dies ist trotz

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

in die Konfig.

Gemäß der docs ermöglicht die letzte Option Sellerie, ein Verzeichnis zu erstellen, das dem oben angegebenen Benutzer/der Gruppe gehört. So viel passiert, aber nichts wird über Berechtigungen gesagt.

Gibt es einen Weg um dies zu umgehen?

Antwort

0

Die CELERY_CREATE_DIR sagt nur Sellerie seine operativen Verzeichnisse erstellen:

immer erstellen Verzeichnisse (log-Verzeichnis und pid Dateiverzeichnis). Standardmäßig werden Verzeichnisse nur erstellt, wenn keine benutzerdefinierte Protokolldatei/PID-Datei festgelegt wurde.

Ich glaube, Ihr Problem ist mit der os.mkdirs. Entsprechend der os.mkdir doc, mode kann auf Ihrem System ignoriert werden und Sie müssen os.chmod verwenden, um den Modus zu ändern.

Verwandte Themen