Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 44 additions & 17 deletions src/Dapr.Client/Protos/dapr/proto/dapr/v1/dapr.proto
Original file line number Diff line number Diff line change
Expand Up @@ -1178,25 +1178,52 @@ message ShutdownRequest {
// Empty
}

// Job is the definition of a job.
// Job is the definition of a job. At least one of schedule or due_time must be
// provided but can also be provided together.
message Job {
// The unique name for the job.
string name = 1;

// The schedule for the job.
optional string schedule = 2;

// Optional: jobs with fixed repeat counts (accounting for Actor Reminders).
optional uint32 repeats = 3;

// Optional: sets time at which or time interval before the callback is invoked for the first time.
optional string due_time = 4;

// Optional: Time To Live to allow for auto deletes (accounting for Actor Reminders).
optional string ttl = 5;
string name = 1 [json_name = "name"];

// Job data.
google.protobuf.Any data = 6;
// schedule is an optional schedule at which the job is to be run.
// Accepts both systemd timer style cron expressions, as well as human
// readable '@' prefixed period strings as defined below.
//
// Systemd timer style cron accepts 6 fields:
// seconds | minutes | hours | day of month | month | day of week
// 0-59 | 0-59 | 0-23 | 1-31 | 1-12/jan-dec | 0-7/sun-sat
//
// "0 30 * * * *" - every hour on the half hour
// "0 15 3 * * *" - every day at 03:15
//
// Period string expressions:
// Entry | Description | Equivalent To
// ----- | ----------- | -------------
// @every <duration> | Run every <duration> (e.g. '@every 1h30m') | N/A
// @yearly (or @annually) | Run once a year, midnight, Jan. 1st | 0 0 0 1 1 *
// @monthly | Run once a month, midnight, first of month | 0 0 0 1 * *
// @weekly | Run once a week, midnight on Sunday | 0 0 0 * * 0
// @daily (or @midnight) | Run once a day, midnight | 0 0 0 * * *
// @hourly | Run once an hour, beginning of hour | 0 0 * * * *
optional string schedule = 2 [json_name = "schedule"];

// repeats is the optional number of times in which the job should be
// triggered. If not set, the job will run indefinitely or until expiration.
optional uint32 repeats = 3 [json_name = "repeats"];

// due_time is the optional time at which the job should be active, or the
// "one shot" time if other scheduling type fields are not provided. Accepts
// a "point in time" string in the format of RFC3339, Go duration string
// (calculated from job creation time), or non-repeating ISO8601.
optional string due_time = 4 [json_name = "dueTime"];

// ttl is the optional time to live or expiration of the job. Accepts a
// "point in time" string in the format of RFC3339, Go duration string
// (calculated from job creation time), or non-repeating ISO8601.
optional string ttl = 5 [json_name = "ttl"];

// payload is the serialized job payload that will be sent to the recipient
// when the job is triggered.
google.protobuf.Any data = 6 [json_name = "data"];
}

// ScheduleJobRequest is the message to create/schedule the job.
Expand Down Expand Up @@ -1231,4 +1258,4 @@ message DeleteJobRequest {
// DeleteJobResponse is the message response to delete the job by name.
message DeleteJobResponse {
// Empty
}
}