{"id":18335075,"url":"https://github.com/cmeeren/cvdm.scheduler","last_synced_at":"2026-04-25T08:34:56.117Z","repository":{"id":87810513,"uuid":"92730653","full_name":"cmeeren/Cvdm.Scheduler","owner":"cmeeren","description":"Schedules execution of a C# callback.","archived":false,"fork":false,"pushed_at":"2017-06-06T13:10:39.000Z","size":32,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-09T19:48:24.908Z","etag":null,"topics":["dotnet","dotnet-standard","library","schedule","scheduler","scheduler-service"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cmeeren.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-05-29T10:44:11.000Z","updated_at":"2017-05-29T10:53:10.000Z","dependencies_parsed_at":"2023-04-21T17:17:41.143Z","dependency_job_id":null,"html_url":"https://github.com/cmeeren/Cvdm.Scheduler","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cmeeren/Cvdm.Scheduler","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmeeren%2FCvdm.Scheduler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmeeren%2FCvdm.Scheduler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmeeren%2FCvdm.Scheduler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmeeren%2FCvdm.Scheduler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cmeeren","download_url":"https://codeload.github.com/cmeeren/Cvdm.Scheduler/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmeeren%2FCvdm.Scheduler/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263369804,"owners_count":23456366,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dotnet","dotnet-standard","library","schedule","scheduler","scheduler-service"],"created_at":"2024-11-05T19:53:21.948Z","updated_at":"2026-04-25T08:34:56.090Z","avatar_url":"https://github.com/cmeeren.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DEPRECATED\r\n\r\nPlease see [Cvdm.Timer](https://github.com/cmeeren/Cvdm.Timer)\r\n\r\n# Cvdm.Scheduler\r\nSchedules execution of a C# callback using `System.Threading.Timer`.\r\n\r\nThe 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).\r\n\r\nThe following methods/overloads are provided:\r\n\r\n### Schedule recurring execution of code\r\n\r\n```c#\r\n// State-accepting callback, starting at a fixed time\r\nTimer ScheduleRecurring(TimerCallback callback, object state, DateTimeOffset startTime, TimeSpan interval);\r\n\r\n// State-accepting callback, starting after a delay\r\nTimer ScheduleRecurring(TimerCallback callback, object state, TimeSpan startAfter, TimeSpan interval);\r\n\r\n// Simple action, starting at a fixed time\r\nTimer ScheduleRecurring(Action callback, DateTimeOffset startTime, TimeSpan interval);\r\n\r\n// Simple action, starting after a delay\r\nTimer ScheduleRecurring(Action callback, TimeSpan startAfter, TimeSpan interval);\r\n```\r\n\r\n### Schedule one-time execution of code\r\n\r\n```c#\r\n// State-accepting callback, invoked at a fixed time\r\nTimer ScheduleOneTime(TimerCallback callback, object state, DateTimeOffset startTime)\r\n  \r\n// State-accepting callback, invoked after a delay\r\nTimer ScheduleOneTime(TimerCallback callback, object state, TimeSpan startAfter)\r\n\r\n// Simple action, invoked at a fixed time\r\nTimer ScheduleOneTime(Action callback, DateTimeOffset startTime)\r\n\r\n// Simple action, invoked after a delay\r\nTimer ScheduleOneTime(Action callback, TimeSpan startAfter)\r\n```\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcmeeren%2Fcvdm.scheduler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcmeeren%2Fcvdm.scheduler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcmeeren%2Fcvdm.scheduler/lists"}