Dokumentation
Aufgabenkonfiguration
Jede Cloudtask-Konfigurationsoption, die von der Befehlszeile aus konfiguriert werden kann, kann auch durch einen Vorlagenstandard oder durch Definieren einer Umgebungsvariable konfiguriert werden.
Abwicklungsreihenfolge für Optionen:
- Befehlszeile (höchste Priorität)
- Standard auf Task-Level
- CLOUDTASK_{PARAM_NAME} Umgebungsvariable (niedrigste Priorität)
Wenn Sie beispielsweise die ec2-Region konfigurieren möchten, in der Workerinstanzen gestartet werden, können Sie sie wie folgt konfigurieren:
1) Die --ec2-region-Befehlszeilenoption:
$ cloudtask --ec2-region ap-southeast-1
2 Durch Definieren von EC2_REGION in einer Task-Vorlage:
$ cat > foo.py << 'EOF'
from cloudtask import Task
class Foo(Task):
EC2_REGION = 'ap-southeast-1'
Foo.main()
EOF
$ chmod +x ./foo.py
$ ./foo.py
3) Durch Einstellen der CLOUDTASK_EC2_REGION-Umgebungsvariable:
export CLOUDTASK_EC2_REGION=ap-southeast-1
Best Practices für die Verwendung in der Produktion
Für die Verwendung in der Produktion wird empfohlen, vorkonfigurierte Task-Vorlagen für Routine-Jobs unter Revisionskontrolle (z. B. Git-Repository) zu erstellen. Task-Vorlagen können gemeinsame Definitionen wie den Hub APIKEY oder den Reporting-Hook von einem gemeinsamen Modul erben:
$ cat > common.py << 'EOF'
from cloudtask import Task
class BaseTask(Task):
HUB_APIKEY = 'BRDUKK3WDXY3CFQ'
REPORT = 'mail: cloudtask@example.com alon@example.com liraz@example.com'
# save sessions in the local directory ratehr than
# $HOME/.cloudtask. That way we can easily track the session
# logs in Git too.
SESSIONS = 'sessions/'
EOF
$ cat > helloworld << 'EOF'
#!/usr/bin/python
from common import BaseTask
class HelloWorld(BaseTask):
COMMAND = 'echo hello world'
HelloWorld.main()
EOF
chmod +x helloworld