This plugin helps you to managing Retz ( a job queuing and execution service for Apache Mesos ) jobs on Digdag workflow.
timezone: Asia/Tokyo
_export:
plugin:
repositories:
- http://retz-maven.s3.amazonaws.com/releases
dependencies:
- io.github.retz:retz-digdag-plugin:0.2.0
retz:
appname: default
cpu: 1
mem: 512m
+simple_app:
retz_run>: /opt/app/simple-app.sh
+heavy_batch:
retz_run>: /opt/app/heavy-batch.sh ${session_date}
cpu: 8
mem: 16g
priority: 1
timeout: 30
+learn:
retz_run>: /opt/app/learn.py
appname: learn-ubuntu
gpu: 2
mem: 4g
env: [FOO=123, BAR=456]- Digdag Version: 0.9.13+
| This Plugin Version | Retz Server Version |
|---|---|
| 0.0.x | 0.2.x (0.2.9+) |
| 0.1.x | 0.3.x |
| 0.2.x | 0.4.x |
To use the plugin, define the following Retz client settings to digdag config file (e.g. digdag.properties):
retz.server.uri- Defines Retz server location to send all requests.
retz.authentication- Set
trueto enable authentication.
- Set
retz.access.key- Defines user identity to send requests to servers with.
retz.access.secret- Defines access secret to identify and authenticate a user.
retz.server.uri = http://10.0.0.1:9090
retz.authentication = true
retz.access.key = deadbeef
retz.access.secret = cafebabePlease refer to Retz Client documents for details.
Include the following plugin settings in your digadg workflow file (*.dig):
_export:
plugin:
repositories:
- http://retz-maven.s3.amazonaws.com/releases
dependencies:
- io.github.retz:retz-digdag-plugin:0.2.0Submit a job by using Retz Client WebAPI. This operator schedules a job to Retz server and waits for it finish either successfully or not. Please refer to Retz Client documents for details.
+run:
retz_run>: echo "hello, Retz!"
appname: your-test-appretz_run>:COMMAND [ARGS...]- (required) Remote command to run
appname: STRING- (required) Application name you loaded by
retz-client load-app
- (required) Application name you loaded by
cpu: NUMBER- Number of CPU cores assigned to the job
- default:
1
mem: STRING- Number of size of RAM(MB) assigned to the job
- default:
32MB - This option can specify a size unit (e.g.
64m,128GB)- MiB:
m|mb, GiB:g|gb, TiB:t|tb(case insensitive)
- MiB:
disk: STRING- Amount of temporary disk space in MB which the job is going to use
- default:
32MB - This option can specify a size unit (e.g.
64m,128GB)- MiB:
m|mb, GiB:g|gb, TiB:t|tb(case insensitive)
- MiB:
ports: NUMBER- Number of ports (up to 1000) required to the job
- default:
0
gpu: NUMBER- Number of GPU cards assigned to the job
- default:
0
priority: NUMBER- Job priority. Priority handling depends on server planner setting
- default:
0.
name: STRING- Human readable job name
- default:
session_id#attempt_id..task_name
tags: [ARRAY OF NAMES]- Mark the job with tags
env: [ARRAY OF "KEY=VALUE"]- List of environment values.
$HOMEand$MESOS_*are overwritten by Mesos executor
- List of environment values.
timeout: NUMBER- Timeout in minutes. After timeout, the client tries to kill the job
-1or0for no timeout- default:
1440(24 hours)
verbose: BOOLEAN- Set
trueto display detailed processing information - default:
false
- Set
client_config: STRING (deprecated)- Configuration file path for Retz Client.
- This option is deperecated and will be removed in a future version.
retz.last_job_id- The job id this task executed.
_export:
retz:
verbose: true
tags: ["${session_local_time}","${task_name}"]
+run_asakusa_m3bp:
retz_run>: /opt/asakusa/yaess/bin/yaess-batch.sh m3bp.app -A date=${session_date}
appname: m3bp-app
cpu: 32
mem: 8192
priority: 2
env: [
"ASAKUSA_HOME=/opt/asakusa",
"ASAKUSA_M3BP_OPTS=-Xmx${Math.round(mem * 0.3)}m",
]
timeout: 120