@@ -36,7 +36,9 @@ that can be used as internal invokable, inspectable and auto-retryable building
36
36
37
37
### Real Time Admin UI
38
38
39
- Dashboard Summary of Executed, Failed and Cancelled Jobs and Worker Stats
39
+ The Background Jobs Admin UI provides a real time view into the status of all background jobs including
40
+ their progress, completion times, Executed, Failed and Cancelled Jobs, etc. which is useful for monitoring
41
+ and debugging purposes.
40
42
41
43
![ ] ( /img/pages/jobs/jobs-dashboard.webp )
42
44
@@ -178,35 +180,6 @@ the following options:
178
180
- ` ReplyTo ` - Optional field for capturing where to send notification for completion of a Job
179
181
- ` Args ` - Optional String Dictionary of Arguments that can be attached to a Job
180
182
181
- ### Executing non-durable jobs
182
-
183
- ` IBackgroundJobs ` also supports ` RunCommand ` methods to be able to execute jobs transiently
184
- (i.e. non-durable), which is useful for commands that want to be serially executed by a named worker
185
- but don't need to be persisted.
186
-
187
- You could use this to queue system emails to be sent by the same ** smtp** worker and are happy to
188
- avoid tracking its state and execution history in the Jobs database.
189
-
190
- ``` csharp
191
- var job = jobs .RunCommand <SendEmailCommand >(new SendEmail { .. . },
192
- new () {
193
- Worker = " smtp"
194
- });
195
- ```
196
-
197
- In this case ` RunCommand ` returns the actual ` BackgroundJob ` instance that will be updated by
198
- the worker.
199
-
200
- You can also use ` RunCommandAsync ` if you prefer to wait until the job has been executed. Instead
201
- of a Job it returns the ** Result** of the command if it returned one.
202
-
203
- ``` csharp
204
- var result = await jobs .RunCommandAsync <SendEmailCommand >(new SendEmail {.. .},
205
- new () {
206
- Worker = " smtp"
207
- });
208
- ```
209
-
210
183
### Schedule Recurring Tasks
211
184
212
185
:::youtube DtB8KaXXMCM
@@ -247,6 +220,35 @@ last time the Recurring Task was run which is also viewable in the Jobs Admin UI
247
220
248
221
![ ] ( /img/pages/jobs/jobs-scheduled-tasks-last-job.webp )
249
222
223
+ ### Executing non-durable jobs
224
+
225
+ ` IBackgroundJobs ` also supports ` RunCommand ` methods to be able to execute jobs transiently
226
+ (i.e. non-durable), which is useful for commands that want to be serially executed by a named worker
227
+ but don't need to be persisted.
228
+
229
+ You could use this to queue system emails to be sent by the same ** smtp** worker and are happy to
230
+ avoid tracking its state and execution history in the Jobs database.
231
+
232
+ ``` csharp
233
+ var job = jobs .RunCommand <SendEmailCommand >(new SendEmail { .. . },
234
+ new () {
235
+ Worker = " smtp"
236
+ });
237
+ ```
238
+
239
+ In this case ` RunCommand ` returns the actual ` BackgroundJob ` instance that will be updated by
240
+ the worker.
241
+
242
+ You can also use ` RunCommandAsync ` if you prefer to wait until the job has been executed. Instead
243
+ of a Job it returns the ** Result** of the command if it returned one.
244
+
245
+ ``` csharp
246
+ var result = await jobs .RunCommandAsync <SendEmailCommand >(new SendEmail {.. .},
247
+ new () {
248
+ Worker = " smtp"
249
+ });
250
+ ```
251
+
250
252
### Serially Execute Jobs with named Workers
251
253
252
254
By default jobs are executed immediately in a new Task, we can also change the behavior to
0 commit comments