Documentação
Configuração da tarefa
Qualquer opção de configuração de tarefa na nuvem que possa ser configurada a partir da linha de comando também pode ser configurada através de um padrão de modelo, ou definindo uma variável de ambiente.
Ordem de resolução para opções:
- linha de comando (preferência mais elevada)
- padrão de nível de tarefa
- Variável de ambiente CLOUDTASK_{PARAM_NAME} (preferência mais baixa)
Por exemplo, se você quiser configurar as instâncias de trabalhadores da região ec2 são lançadas, você pode configurá-las como:
1) A opção de linha de comando --ec2-region:
$ cloudtask --ec2-region ap-southeast-1
2) Ao definir EC2_REGION em um modelo de tarefa:
$ 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) Ao definir a variável de ambiente CLOUDTASK_EC2_REGION:
export CLOUDTASK_EC2_REGION=ap-southeast-1
Melhores práticas de utilização da produção
Para uso de produção, é recomendável criar modelos de tarefas pré-configurados para trabalhos de rotina sob controle de revisão (por exemplo, repositório Git). Modelos de tarefas podem herdar definições compartilhadas, como o Hub APIKEY ou o gancho de relatórios de um módulo comum:
$ 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