You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Dapr provides APIs for communication, state, workflow, and agentic AI. The APIs decouple the application code from the underlying infrastructure ensuring flexibility and portability. Dapr leverages industry best practices for security, resiliency, and observability, so you can focus on your code.
9
10
10
-
{{% alert title="What is Dapr?" color="primary" %}}
11
-
Dapr is a portable, event-driven runtime that makes it easy for any developer to build resilient,
12
-
stateless and stateful applications that run on the cloud and edge and embraces the diversity of
13
-
languages and developer frameworks. Leveraging the benefits of a sidecar architecture, Dapr helps
14
-
you tackle the challenges that come with building microservices and keeps your code platform agnostic.
Copy file name to clipboardExpand all lines: daprdocs/content/en/concepts/dapr-services/scheduler.md
+81-12Lines changed: 81 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -115,25 +115,93 @@ services:
115
115
- ./dapr_scheduler/2:/var/run/dapr/scheduler
116
116
```
117
117
118
-
## Back Up and Restore Scheduler Data
118
+
## Managing jobs with the Dapr CLI
119
119
120
-
In production environments, it's recommended to perform periodic backups of this data at an interval that aligns with your recovery point objectives.
120
+
Dapr provides a CLI for inspecting and managing all scheduled jobs, regardless of type.
121
+
The CLI is the recommended way to view, back up, and delete jobs.
121
122
122
-
### Port Forward for Backup Operations
123
+
There are several different types of jobs which Scheduler manages:
123
124
124
-
To perform backup and restore operations, you'll need to access the embedded etcd instance. This requires port forwarding to expose the etcd ports (port 2379).
125
+
- `app/{app-id}/{job-name}`: Jobs created via the [Jobs API]({{% ref jobs_api %}})
126
+
- `actor/{actor-type}/{actor-id}/{reminder-name}`: Actor reminder jobs created via the [Actor Reminders API]({{% ref "actors-timers-reminders#actor-reminders" %}})
127
+
- `activity/{app-id}/{instance-id}::{generation-name}::{activity-index}`: Used internally for [Workflow Activity reminders]({{% ref "workflow-features-concepts.md#workflow-activities" %}})
128
+
- `workflow/{app-id}/{instance-id}/{random-name}`: Used internally for [Workflows]({{% ref "workflow-overview.md" %}}).
125
129
126
-
#### Kubernetes Example
130
+
Please see [here for how to manage specifically reminders]({{% ref "actors-timers-reminders#managing-reminders-with-the-cli" %}}) with the CLI.
127
131
128
-
Here's how to port forward and connect to the etcd instance:
Once you have access to the etcd ports, you can follow the [official etcd backup and restore documentation](https://etcd.io/docs/v3.5/op-guide/recovery/) to perform backup and restore operations. The process involves using standard etcd commands to create snapshots and restore from them.
@@ -155,7 +223,7 @@ For more information on running Dapr on Kubernetes, visit the [Kubernetes hostin
155
223
156
224
A number of Etcd flags are exposed on Scheduler which can be used to tune for your deployment use case.
157
225
158
-
### External Etcd database
226
+
### External Etcd database
159
227
160
228
Scheduler can be configured to use an external Etcd database instead of the embedded one inside the Scheduler service replicas.
161
229
It may be interesting to decouple the storage volume from the Scheduler StatefulSet or container, because of how the cluster or environment is administered or what storage backend is being used.
0 commit comments