API Route, MQ and Scheduler
Triggers - API route, MQ and scheduler - CLI commands.
API Route
loc apiroute|ar
API routes can be set with api-route-config.yaml
in the project, which defines the URL path that would be link to one or more data processes.
Deploy an API Route
loc ar deploy -f <api-route-config>.yaml
The pid
field in the YAML file must be set to a deployed data process's ID.
-f
: API route YAML file (required)
You can deploy an API route automatically along with a data process. See Deploy a Project.
List All API Routes
loc ar list
Inspect an API Route
loc ar get <id> -v
Delete an API Route
loc ar delete <id>
Message Queue
loc messagequeue|mq
MQ sources can be set with MQ client YAML file, which defines the MQ client type, host and port. Both MQ publisher and MQ subscriber connect a MQ client with one or more data processes.
Generate MQ Client YAML File
loc mq client init [output]
output
: output file path and name (default:message-queue-client.yaml
)
Generate MQ Subscriber YAML File
loc mq sub init [output]
output
: output file path and name (default:subscriber.yaml
)
clientId
in the file must be a deployed MQ client's ID.
Generate MQ Publisher YAML File
loc mq pub init [output]
output
: output file path and name (default:publisher.yaml
)
clientId
in the file must be a deployed MQ client's ID.
Common MQ Commands
Deploy a MQ Asset
loc mq client|pub|sub deploy -f <mq-file>.yaml
If one MQ assets with the same name exists, it will be updated.
-f
: MQ client/publisher/subscriber YAML file (required)
List All MQ Assets
loc mq client|pub|sub list
Inspect a MQ Assets
loc mq client|pub|sub get <id> -v
Delete a MQ Assets
loc mq client|pub|sub delete <id>
Scheduler
loc scheduler|s
A scheduler can be set with a scheduled job YAML file, which use a trigger (schedule) on one or more data processes.
The term trigger is a bit confusing since we've already calling API routes, MQs and schedulers as triggers. The schedule trigger will be officially renamed to schedule
at next release.
Generate Schedule Trigger YAML File
loc s t init [-c|-t|-w] [output]
It can be specified as one of the following trigger/schedule type:
-c
: a Cron Job type trigger/schedule (default if no flag provided)-t
: a TimeUnit type trigger/schedule-w
: a Windowed TimeUnit type trigger/schedule (TimeUnit plusstartTimeOfDay
andendTimeOfDay
)output
: output file path and name (default:trigger.yaml
)
For a Cron job type schedule, the Cron expression has to have at least six fields.
Generate Scheduled job YAML File
loc s sj init
output
: output file path and name (default:scheduled-job.yaml
)
triggerId
in the file must be a deployed trigger/schedule's ID and pid
set to a deployed data process' PID.
Common Scheduler Commands
Deploy a Schedule Trigger/Scheduler Job
loc s t|sj deploy -f <scheduler-file>.yaml
-f
: trigger YAML file (required)
If a trigger/schedule with the same name already exists, the description
, endTime
and startTime
fields will be updated - but not the trigger/schedule type or time interval.
In other words, you need to manually deploy a new trigger/schedule if you want to change the triggering schedule.
List All Schedule Triggers/Scheduler Jobs
loc s t|sj list
Inspect a Schedule Trigger/Scheduler Job
loc s t|sj get <id> -v
Delete a Schedule Trigger/Scheduler Job
loc s t|sj delete <id>
Be noted that if a trigger/schedule is in use by a scheduled job, the scheduled job will be deleted as well.