文档
任务配置
从命令行可以配置的任何云任务配置选项也可能通过模板默认配置,或者通过定义环境变量配置.
选项的解析顺序 :
- 命令行( 最高优先级)
- 任务级别默认值
- CLOUDTASK_{PARAM_NAME} 环境变量(最低优先级)
例如,如果想要配置 Ec2 区域工人实例,您可以配置为:
1) --ec2-region命令行选项:
$ cloudtask --ec2-region ap-southeast-1
(2) 通过任务模板中定义 EC2_REGION:
$ 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) 通过设置 CLOUDTASK_EC2_REGION 环境变量:
export CLOUDTASK_EC2_REGION=ap-southeast-1
生产使用的最佳做法
为生产用途,建议为修订控制下的常规工作创建预配置任务模板(如Git仓库). 任务模板可能继承共享定义,例如Hub APIKEY或来自一个共同模块的报盘:
$ 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