Skip to content

Commit fed804b

Browse files
committed
update rel notes
1 parent 341ea0e commit fed804b

File tree

3 files changed

+55
-43
lines changed

3 files changed

+55
-43
lines changed

MyApp/_pages/background-jobs.md

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Durable Background Jobs and Scheduled Tasks for .NET 8 Apps
1010

1111
### Durable and Infrastructure-Free
1212

13-
Prior to Jobs we've been using [Background MQ](/background-mq) for executing
13+
Prior to Background Jobs we've been using [Background MQ](/background-mq) for executing
1414
our background tasks which lets you queue any Request DTO to execute its API in a background worker.
1515
It's been our preferred choice as it didn't require any infrastructure dependencies since its concurrent
1616
queues are maintained in memory, this also meant they were non-durable that didn't survive across App restarts.
@@ -20,19 +20,19 @@ designed for the task.
2020

2121
#### SQLite Persistence
2222

23-
We decided on using SQLite as the backing store for durable jobs since it's low latency,
23+
It uses SQLite as the backing store for its durability since it's low latency,
2424
[fast disk persistence](https://www.sqlite.org/fasterthanfs.html) and embeddable file-based
25-
database makes it ideally suited for the task which allows creation of naturally partitionable
26-
and archivable monthly databases on-the-fly without any additional admin overhead or external
27-
infrastructure dependencies making it an easy add-on into any .NET App without impacting or
28-
adding load to its existing configured databases.
25+
database makes it ideally suited for the task which allows creation of naturally partition-able
26+
and archivable monthly databases on-the-fly without any maintenance overhead or infrastructure
27+
dependencies making it easy to add to any .NET App without impacting or adding increased load to
28+
their existing configured databases.
2929

3030
### Queue APIs or Commands
3131

32-
To enable even better reuse of ServiceStack APIs you're able to queue your existing ServiceStack APIs
33-
as a background job in addition to [Commands](/commands) added in the
34-
[last v8.3 release](/releases/v8_03) used for encapsulating units of logic
35-
that can be used as internal invokable, inspectable and auto-retryable building blocks.
32+
For even greater reuse you're able to queue your existing ServiceStack APIs
33+
as a Background Job in addition to [Commands](/commands) added in the
34+
[last v8.3 release](/releases/v8_03) for encapsulating units of logic
35+
into internal invokable, inspectable and auto-retryable building blocks.
3636

3737
### Real Time Admin UI
3838

@@ -105,8 +105,8 @@ Existing .NET 8 Projects can configure their app to use **ServiceStack.Jobs** by
105105
x mix jobs
106106
:::
107107

108-
Which adds the `Configure.BackgroundJobs.cs` [Modular Startup](/modular-startup)
109-
configuration and **ServiceStack.Jobs** Reference to your project.
108+
Which adds the `Configure.BackgroundJobs.cs` [Modular Startup](https://docs.servicestack.net/modular-startup)
109+
configuration and a **ServiceStack.Jobs** NuGet package reference to your project.
110110

111111
## Usage
112112

@@ -182,11 +182,14 @@ the following options:
182182

183183
### Schedule Recurring Tasks
184184

185+
In addition to queueing jobs to run in the background, it also supports scheduling recurring tasks
186+
to execute APIs or Commands at fixed intervals.
187+
185188
:::youtube DtB8KaXXMCM
186189
Schedule your Reoccurring Tasks with Background Jobs!
187190
:::
188191

189-
APIs and Commands can be scheduled to run at either a `TimeSpan` or
192+
APIs and Commands can be scheduled to run at either a `TimeSpan` or
190193
[CRON Expression](https://github.com/HangfireIO/Cronos?tab=readme-ov-file#cron-format) interval, e.g:
191194

192195
```csharp
@@ -203,7 +206,7 @@ jobs.RecurringApi(Schedule.Interval(TimeSpan.FromMinutes(1)), new CheckUrls {
203206
});
204207
```
205208

206-
Scheduled Tasks can be registered with an optional task name and custom Background Options, e.g:
209+
That can be registered with an optional **Task Name** and **Background Options**, e.g:
207210

208211
```csharp
209212
jobs.RecurringCommand<CheckUrlsCommand>("Check URLs", Schedule.EveryMinute,
@@ -212,14 +215,18 @@ jobs.RecurringCommand<CheckUrlsCommand>("Check URLs", Schedule.EveryMinute,
212215
});
213216
```
214217

215-
If no task name is provided, the Command Name or APIs Request DTO will be used.
218+
:::info
219+
If no name is provided, the Command's Name or APIs Request DTO will be used
220+
:::
216221

217-
Scheduled Tasks are idempotent where the same registration with the same name will
222+
Scheduled Tasks are idempotent where the same registration with the same name will
218223
either create or update the scheduled task registration without losing track of the
219224
last time the Recurring Task was run which is also viewable in the Jobs Admin UI:
220225

221226
![](/img/pages/jobs/jobs-scheduled-tasks-last-job.webp)
222227

228+
As such it's recommended to always define your App's Scheduled Tasks on Startup:
229+
223230
### Executing non-durable jobs
224231

225232
`IBackgroundJobs` also supports `RunCommand` methods to be able to execute jobs transiently

MyApp/_pages/releases/v8_04.md

Lines changed: 30 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ title: ServiceStack v8.4
44

55
![](/img/pages/release-notes/v8.4/bg-sqlite.webp)
66

7-
We're happy to announce **ServiceStack.Jobs** our effortless solution for queueing and managing
7+
We're excited to announce **Background Jobs** our effortless solution for queueing and managing
88
background jobs and scheduled tasks in any .NET 8 App, implemented in true ServiceStack fashion
9-
where it seamlessly integrates into existing ServiceStack Apps with a [built-in](/auto-ui) Management UI
10-
to provide real-time monitoring, inspection and management of background jobs.
9+
where it seamlessly integrates into existing Apps and call existing APIs and sports a
10+
[built-in](https://servicestack.net/auto-ui) Management UI to provide real-time monitoring, inspection and management of background jobs.
1111

1212
<p class="hide-h2"></p>
1313

@@ -25,10 +25,9 @@ to provide real-time monitoring, inspection and management of background jobs.
2525
</div>
2626
</div>
2727

28-
2928
### Durable and Infrastructure-Free
3029

31-
Prior to Jobs we've been using [Background MQ](/background-mq) for executing
30+
Prior to Background Jobs we've been using [Background MQ](/background-mq) for executing
3231
our background tasks which lets you queue any Request DTO to execute its API in a background worker.
3332
It's been our preferred choice as it didn't require any infrastructure dependencies since its concurrent
3433
queues are maintained in memory, this also meant they were non-durable that didn't survive across App restarts.
@@ -38,19 +37,19 @@ designed for the task.
3837

3938
#### SQLite Persistence
4039

41-
We decided on using SQLite as the backing store for durable jobs since it's low latency,
40+
It uses SQLite as the backing store for its durability since it's low latency,
4241
[fast disk persistence](https://www.sqlite.org/fasterthanfs.html) and embeddable file-based
43-
database makes it ideally suited for the task which allows creation of naturally partitionable
44-
and archivable monthly databases on-the-fly without any additional admin overhead or external
45-
infrastructure dependencies making it an easy add-on into any .NET App without impacting or
46-
adding load to its existing configured databases.
42+
database makes it ideally suited for the task which allows creation of naturally partition-able
43+
and archivable monthly databases on-the-fly without any maintenance overhead or infrastructure
44+
dependencies making it easy to add to any .NET App without impacting or adding increased load to
45+
their existing configured databases.
4746

4847
### Queue APIs or Commands
4948

50-
To enable even better reuse of ServiceStack APIs you're able to queue your existing ServiceStack APIs
51-
as a background job in addition to [Commands](/commands) added in the
52-
[last v8.3 release](/releases/v8_03) used for encapsulating units of logic
53-
that can be used as internal invokable, inspectable and auto-retryable building blocks.
49+
For even greater reuse you're able to queue your existing ServiceStack APIs
50+
as a Background Job in addition to [Commands](/commands) added in the
51+
[last v8.3 release](/releases/v8_03) for encapsulating units of logic
52+
into internal invokable, inspectable and auto-retryable building blocks.
5453

5554
### Real Time Admin UI
5655

@@ -80,7 +79,7 @@ Cancel Running jobs and Requeue failed jobs
8079

8180
### Feature Overview
8281

83-
Despite being a v1 release it packs all the features we wanted to use in a Background Jobs solution including:
82+
Even in its v1 release it packs all the features we wanted in a Background Jobs solution:
8483

8584
- No infrastructure dependencies
8685
- Monthly archivable rolling Databases with full Job Execution History
@@ -101,8 +100,7 @@ Despite being a v1 release it packs all the features we wanted to use in a Backg
101100
- Execute transitive (i.e. non-durable) jobs using named workers
102101
- Attach optional `Tag`, `BatchId`, `CreatedBy`, `ReplyTo` and `Args` with Jobs
103102

104-
Please [let us know](https://servicestack.net/ideas) if there are any other missing features
105-
you would love to see implemented.
103+
Please [let us know](https://servicestack.net/ideas) of any other missing features you'd love to see implemented.
106104

107105
## Install
108106

@@ -123,8 +121,8 @@ Existing .NET 8 Projects can configure their app to use **ServiceStack.Jobs** by
123121
x mix jobs
124122
:::
125123

126-
Which adds the `Configure.BackgroundJobs.cs` [Modular Startup](/modular-startup)
127-
configuration and **ServiceStack.Jobs** Reference to your project.
124+
Which adds the `Configure.BackgroundJobs.cs` [Modular Startup](https://docs.servicestack.net/modular-startup)
125+
configuration and a **ServiceStack.Jobs** NuGet package reference to your project.
128126

129127
## Usage
130128

@@ -200,11 +198,14 @@ the following options:
200198

201199
### Schedule Recurring Tasks
202200

201+
In addition to queueing jobs to run in the background, it also supports scheduling recurring tasks
202+
to execute APIs or Commands at fixed intervals.
203+
203204
:::youtube DtB8KaXXMCM
204205
Schedule your Reoccurring Tasks with Background Jobs!
205206
:::
206207

207-
APIs and Commands can be scheduled to run at either a `TimeSpan` or
208+
APIs and Commands can be scheduled to run at either a `TimeSpan` or
208209
[CRON Expression](https://github.com/HangfireIO/Cronos?tab=readme-ov-file#cron-format) interval, e.g:
209210

210211
```csharp
@@ -221,7 +222,7 @@ jobs.RecurringApi(Schedule.Interval(TimeSpan.FromMinutes(1)), new CheckUrls {
221222
});
222223
```
223224

224-
Scheduled Tasks can be registered with an optional task name and custom Background Options, e.g:
225+
That can be registered with an optional **Task Name** and **Background Options**, e.g:
225226

226227
```csharp
227228
jobs.RecurringCommand<CheckUrlsCommand>("Check URLs", Schedule.EveryMinute,
@@ -230,14 +231,18 @@ jobs.RecurringCommand<CheckUrlsCommand>("Check URLs", Schedule.EveryMinute,
230231
});
231232
```
232233

233-
If no task name is provided, the Command Name or APIs Request DTO will be used.
234+
:::info
235+
If no name is provided, the Command's Name or APIs Request DTO will be used
236+
:::
234237

235-
Scheduled Tasks are idempotent where the same registration with the same name will
238+
Scheduled Tasks are idempotent where the same registration with the same name will
236239
either create or update the scheduled task registration without losing track of the
237240
last time the Recurring Task was run which is also viewable in the Jobs Admin UI:
238241

239242
![](/img/pages/jobs/jobs-scheduled-tasks-last-job.webp)
240243

244+
As such it's recommended to always define your App's Scheduled Tasks on Startup:
245+
241246
### Executing non-durable jobs
242247

243248
`IBackgroundJobs` also supports `RunCommand` methods to be able to execute jobs transiently
@@ -928,10 +933,10 @@ of a singular growing database, visible in the [Database Admin UI](/admin-ui-dat
928933
SQLite logs will also make it easier to generate monthly aggregate reports to provide key insights
929934
into the usage of your App.
930935

931-
## Admin Logging UI
936+
## AutoQuery Grid Admin Logging UI
932937

933938
As SQLite Requests Logs also makes it efficiently possible to sort and filter through logs, the
934-
Logging UI will switch to using a fully queryable AutoQueryGrid when using `SqliteRequestLogger`:
939+
Logging UI will switch to using a fully queryable `AutoQueryGrid` when using `SqliteRequestLogger`:
935940

936941
![](/img/pages/sqlite/sqlite-request-logs.webp)
937942

MyApp/_pages/sqlite-request-logs.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,9 @@ of a singular growing database, visible in the [Database Admin UI](/admin-ui-dat
9292
SQLite logs will also make it easier to generate monthly aggregate reports to provide key insights
9393
into the usage of your App.
9494

95-
## Admin Logging UI
95+
## AutoQuery Grid Admin Logging UI
9696

9797
As SQLite Requests Logs also makes it efficiently possible to sort and filter through logs, the
98-
Logging UI will switch to using a fully queryable AutoQueryGrid when using `SqliteRequestLogger`:
98+
Logging UI will switch to using a fully queryable `AutoQueryGrid` when using `SqliteRequestLogger`:
9999

100100
![](/img/pages/sqlite/sqlite-request-logs.webp)

0 commit comments

Comments
 (0)