{"id":34282352,"url":"https://github.com/wickedflame/broadcast","last_synced_at":"2025-12-18T03:00:19.691Z","repository":{"id":25260541,"uuid":"28685705","full_name":"WickedFlame/Broadcast","owner":"WickedFlame","description":"Simple and easy to use background task processing and message queue for .NET","archived":false,"fork":false,"pushed_at":"2024-02-15T10:09:16.000Z","size":2214,"stargazers_count":4,"open_issues_count":5,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-21T08:44:21.302Z","etag":null,"topics":["background-jobs","background-tasks","background-worker","broadcast","recurring-tasks","scheduled-tasks"],"latest_commit_sha":null,"homepage":"https://wickedflame.github.io/Broadcast/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"ms-pl","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WickedFlame.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"License.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-01T11:52:50.000Z","updated_at":"2024-03-20T09:25:33.000Z","dependencies_parsed_at":"2023-01-14T02:25:33.832Z","dependency_job_id":null,"html_url":"https://github.com/WickedFlame/Broadcast","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/WickedFlame/Broadcast","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WickedFlame%2FBroadcast","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WickedFlame%2FBroadcast/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WickedFlame%2FBroadcast/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WickedFlame%2FBroadcast/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WickedFlame","download_url":"https://codeload.github.com/WickedFlame/Broadcast/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WickedFlame%2FBroadcast/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27790084,"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","status":"online","status_checked_at":"2025-12-18T02:00:09.725Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["background-jobs","background-tasks","background-worker","broadcast","recurring-tasks","scheduled-tasks"],"created_at":"2025-12-16T23:29:50.472Z","updated_at":"2025-12-18T03:00:19.600Z","avatar_url":"https://github.com/WickedFlame.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WickedFlame Broadcast\n------------------------------\n[![Build Status](https://img.shields.io/travis/com/WickedFlame/broadcast/master.svg?label=Travis-CI\u0026style=for-the-badge)](https://app.travis-ci.com/github/WickedFlame/Broadcast)\n[![Build status](https://img.shields.io/appveyor/build/chriswalpen/broadcast/master?label=Master\u0026logo=appveyor\u0026style=for-the-badge)](https://ci.appveyor.com/project/chriswalpen/broadcast/branch/master)\n[![Build status](https://img.shields.io/appveyor/build/chriswalpen/broadcast/dev?label=Dev\u0026logo=appveyor\u0026style=for-the-badge)](https://ci.appveyor.com/project/chriswalpen/broadcast/branch/dev)\n[![NuGet Version](https://img.shields.io/nuget/v/broadcast.svg?style=for-the-badge\u0026label=Latest)](https://www.nuget.org/packages/broadcast/)\n[![NuGet Version](https://img.shields.io/nuget/vpre/broadcast.svg?style=for-the-badge\u0026label=RC)](https://www.nuget.org/packages/broadcast/)\n\n  \n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=WickedFlame_Broadcast\u0026metric=alert_status)](https://sonarcloud.io/summary/new_code?id=WickedFlame_Broadcast)\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=WickedFlame_Broadcast\u0026metric=coverage)](https://sonarcloud.io/summary/new_code?id=WickedFlame_Broadcast)\n[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=WickedFlame_Broadcast\u0026metric=ncloc)](https://sonarcloud.io/summary/new_code?id=WickedFlame_Broadcast)\n  \n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/9f04469804014684ac6c1e91bed72e5e)](https://www.codacy.com/gh/WickedFlame/Broadcast/dashboard?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=WickedFlame/Broadcast\u0026amp;utm_campaign=Badge_Grade)\n  \nSimple and easy to use background task processing and message queue for .NET  \n  \nBroadcast is a simple implementation for processing and scheduling tasks in the background without blocking the main thread.  \nBroadcast helps implement the Mediator or CQRS (Command- and Queryhandling) patterns easily.\n  \nVisit [https://wickedflame.github.io/Broadcast/](https://wickedflame.github.io/Broadcast/) for the full documentation.\n  \n## Installation\nBroadcast is available as a NuGet package\n```\nPM\u003e Install-Package Broadcast\n```\n  \nAfter installation setup the Processingserver in Startup.cs with a dashboard if desired\n```\npublic void ConfigureServices(IServiceCollection services)\n{\n\t...\n\tservices.AddBroadcast();\n}\n\npublic void Configure(IApplicationBuilder app, IWebHostEnvironment env)\n{\n    ...\n\tapp.UseBroadcastServer();\n\tapp.UseBroadcastDashboard();\n}\n```\n  \n## Usage\n### Background Task processing\nProcessing a task in a async queue using the default Broadcaster\n```csharp\nBackgroundTaskClient.Send(() =\u003e Trace.WriteLine(\"This is a basic task\"));\n```\n  \nProcessing a task with a custom Broadcaster instance\n```csharp\nvar broadcaster = new Broadcaster();\nbroadcaster.Send(() =\u003e Trace.WriteLine(\"This is a basic task\"));\n```\n\n### Scheduleed Tasks\nSchedule a task in a async queue using the default Broadcaster\n```csharp\nBackgroundTaskClient.Schedule(() =\u003e Console.WriteLine(\"test\"), TimeSpan.FromMinutes(1));\n```\n  \nSchedule a task with a custom Broadcaster instance\n```csharp\nvar broadcaster = new Broadcaster();\nbroadcaster.Schedule(() =\u003e Console.WriteLine(\"test\"), TimeSpan.FromMinutes(1));\n```\n\n### Recurring Tasks\nAdd a recurring task to be processed in a async queue using the default Broadcaster\n```csharp\nBackgroundTaskClient.Recurring(\"recurring\", () =\u003e service.Recurring(DateTime.Now.ToString(\"o\")), TimeSpan.FromMinutes(15));\n```\n  \nAdd a recurring task to be processed with a custom Broadcaster instance\n```csharp\nvar broadcaster = new Broadcaster();\nbroadcaster.Recurring(\"recurring\", () =\u003e service.Recurring(DateTime.Now.ToString(\"o\")), TimeSpan.FromMinutes(15));\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwickedflame%2Fbroadcast","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwickedflame%2Fbroadcast","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwickedflame%2Fbroadcast/lists"}