https://github.com/cmeeren/cvdm.scheduler
Schedules execution of a C# callback.
https://github.com/cmeeren/cvdm.scheduler
dotnet dotnet-standard library schedule scheduler scheduler-service
Last synced: 2 months ago
JSON representation
Schedules execution of a C# callback.
- Host: GitHub
- URL: https://github.com/cmeeren/cvdm.scheduler
- Owner: cmeeren
- License: mit
- Created: 2017-05-29T10:44:11.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-06-06T13:10:39.000Z (about 9 years ago)
- Last Synced: 2025-04-09T19:48:24.908Z (about 1 year ago)
- Topics: dotnet, dotnet-standard, library, schedule, scheduler, scheduler-service
- Language: C#
- Size: 31.3 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DEPRECATED
Please see [Cvdm.Timer](https://github.com/cmeeren/Cvdm.Timer)
# Cvdm.Scheduler
Schedules execution of a C# callback using `System.Threading.Timer`.
The library consists of an interface (`IScheduler`) and an implementation (`Scheduler`). The interface makes the scheduler easy to use with dependency injection. The implementation keeps internal references to all created timers, so you don't have to do that yourself if the scheduler lives at least as long as the timer (e.g. if the scheduler is a singleton component).
The following methods/overloads are provided:
### Schedule recurring execution of code
```c#
// State-accepting callback, starting at a fixed time
Timer ScheduleRecurring(TimerCallback callback, object state, DateTimeOffset startTime, TimeSpan interval);
// State-accepting callback, starting after a delay
Timer ScheduleRecurring(TimerCallback callback, object state, TimeSpan startAfter, TimeSpan interval);
// Simple action, starting at a fixed time
Timer ScheduleRecurring(Action callback, DateTimeOffset startTime, TimeSpan interval);
// Simple action, starting after a delay
Timer ScheduleRecurring(Action callback, TimeSpan startAfter, TimeSpan interval);
```
### Schedule one-time execution of code
```c#
// State-accepting callback, invoked at a fixed time
Timer ScheduleOneTime(TimerCallback callback, object state, DateTimeOffset startTime)
// State-accepting callback, invoked after a delay
Timer ScheduleOneTime(TimerCallback callback, object state, TimeSpan startAfter)
// Simple action, invoked at a fixed time
Timer ScheduleOneTime(Action callback, DateTimeOffset startTime)
// Simple action, invoked after a delay
Timer ScheduleOneTime(Action callback, TimeSpan startAfter)
```