Skip to content

Commit cded458

Browse files
committed
Update v8_09.md
1 parent ecc3c01 commit cded458

File tree

1 file changed

+24
-24
lines changed

1 file changed

+24
-24
lines changed

MyApp/_pages/releases/v8_09.md

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -925,7 +925,7 @@ Schedule your Reoccurring Tasks with Background Jobs!
925925
APIs and Commands can be scheduled to run at either a `TimeSpan` or
926926
[CRON Expression](https://github.com/HangfireIO/Cronos?tab=readme-ov-file#cron-format) interval, e.g:
927927

928-
### CRON Expression Examples
928+
## CRON Expression Examples
929929

930930
```csharp
931931
// Every Minute Expression
@@ -1010,28 +1010,6 @@ jobs.RecurringCommand<CheckUrlsCommand>("Check URLs", Schedule.EveryMinute,
10101010
If no name is provided, the Command's Name or APIs Request DTO will be used
10111011
:::
10121012

1013-
### Interned Cronos
1014-
1015-
A major source of friction in .NET Libraries and most Frameworks from all platforms in general is dependency conflicts.
1016-
E.g. Conflicting versions of JSON.NET have plagued many a .NET library and framework for several years, something that
1017-
never impacted ServiceStack Apps since we maintain our own fast/flexible JSON Serializer and have never had a dependency
1018-
to JSON.NET.
1019-
1020-
As supply chain attacks from external OSS libraries have become more common, it's even more important to avoid
1021-
taking dependencies on external libraries where possible.
1022-
1023-
As we now have multiple packages that referenced
1024-
[Hangfire's Cronos](https://github.com/HangfireIO/Cronos) library we've decided to intern it in ServiceStack,
1025-
removing the previous dependency **ServiceStack.Jobs** had to Cronos. The only issue was that
1026-
[CronParser.cs](https://github.com/HangfireIO/Cronos/blob/main/src/Cronos/CronParser.cs) uses unsafe parsing and we
1027-
don't allow `<AllowUnsafeBlocks>` in any ServiceStack package, so it was rewritten to use Spans in our interned
1028-
[CronParser.cs](https://github.com/ServiceStack/ServiceStack/blob/main/ServiceStack/src/ServiceStack.Common/Cronos/CronParser.cs)
1029-
implementation.
1030-
1031-
It's released under the same MIT License as Cronos so anyone else is welcome to use it, as is our port of their
1032-
[CronExpressionTests.cs](https://github.com/ServiceStack/ServiceStack/blob/main/ServiceStack/tests/ServiceStack.Common.Tests/CronExpressionTests.cs)
1033-
to NUnit.
1034-
10351013
### Idempotent Registration
10361014

10371015
Scheduled Tasks are idempotent where the same registration with the same name will
@@ -1055,7 +1033,29 @@ public class ConfigureBackgroundJobs : IHostingStartup
10551033
}
10561034
```
10571035

1058-
### Background Jobs Admin UI
1036+
## Interned Cronos
1037+
1038+
A major source of friction in .NET Libraries and most Frameworks from all platforms in general is dependency conflicts.
1039+
E.g. Conflicting versions of JSON.NET have plagued many a .NET library and framework for several years, something that
1040+
never impacted ServiceStack Apps since we maintain our own fast/flexible JSON Serializer and have never had a dependency
1041+
to JSON.NET.
1042+
1043+
As supply chain attacks from external OSS libraries have become more common, it's even more important to avoid
1044+
taking dependencies on external libraries where possible.
1045+
1046+
As we now have multiple packages that referenced
1047+
[Hangfire's Cronos](https://github.com/HangfireIO/Cronos) library we've decided to intern it in ServiceStack,
1048+
removing the previous dependency **ServiceStack.Jobs** had to Cronos. The only issue was that
1049+
[CronParser.cs](https://github.com/HangfireIO/Cronos/blob/main/src/Cronos/CronParser.cs) uses unsafe parsing and we
1050+
don't allow `<AllowUnsafeBlocks>` in any ServiceStack package, so it was rewritten to use Spans in our interned
1051+
[CronParser.cs](https://github.com/ServiceStack/ServiceStack/blob/main/ServiceStack/src/ServiceStack.Common/Cronos/CronParser.cs)
1052+
implementation.
1053+
1054+
It's released under the same MIT License as Cronos so anyone else is welcome to use it, as is our port of their
1055+
[CronExpressionTests.cs](https://github.com/ServiceStack/ServiceStack/blob/main/ServiceStack/tests/ServiceStack.Common.Tests/CronExpressionTests.cs)
1056+
to NUnit.
1057+
1058+
## Background Jobs Admin UI
10591059

10601060
The last job the Recurring Task ran is also viewable in the Jobs Admin UI:
10611061

0 commit comments

Comments
 (0)