How ollie-ave/backgroundtaskmanager works
BackgroundTaskManager is a small .NET library for registering and running recurring background tasks through dependency injection. The application registers the manager and task implementations, builds its service provider, then initializes the manager; the manager runs each task asynchronously at its declared interval and logs execution exceptions when a logger is available. The task contract and DI extensions are separate parts of this runtime. Edges reflect the sampled source or README; user-defined tasks and framework services are external to this repository.
Main entry points: BackgroundTaskManager.cs Task manager · IServiceCollectionExtensions.cs Service registration · IBackgroundTask.cs Task contract · IBackgroundTaskManager.cs Manager contract
Components 8
Task runtime
- Service registration
BackgroundTaskManager/Extensions/IServiceCollectionExtensions.cs - Task contract
BackgroundTaskManager/Interfaces/IBackgroundTask.cs - Manager contract
BackgroundTaskManager/Interfaces/IBackgroundTaskManager.cs - Provider initializer
BackgroundTaskManager/Extensions/IServiceProviderExtensions.cs - Task manager
BackgroundTaskManager/Services/BackgroundTaskManager.cs
Other components
- Host application
- User task
- DI logger
Connections 10
- Host application → Service registration: registers services
ReadMe.md - Host application → User task: registers task
ReadMe.md - User task → Task contract: implements
ReadMe.md - Service registration → Manager contract: registers manager
BackgroundTaskManager/Extensions/IServiceCollectionExtensions.cs - Service registration → Task contract: registers tasks
BackgroundTaskManager/Extensions/IServiceCollectionExtensions.cs - Host application → Provider initializer: initializes tasks
ReadMe.md - Provider initializer → Manager contract: resolves and initializes
BackgroundTaskManager/Extensions/IServiceProviderExtensions.cs - Task manager → Manager contract: implements
BackgroundTaskManager/Services/BackgroundTaskManager.cs - Task manager → Task contract: executes tasks
BackgroundTaskManager/Services/BackgroundTaskManager.cs - Task manager → DI logger: logs exceptions
BackgroundTaskManager/Services/BackgroundTaskManager.cs