Skip to content
Introducing AI Conversations: Natural Language Interaction for Your Apps! Learn More

Jobs

GitHubGitHub stars for shinyorg/shiny
DownloadsNuGet downloads for Shiny.Jobs
Frameworks
.NET
.NET MAUI
Blazor
Operating Systems
Android
iOS
macOS
Linux
Windows
Web

Shiny Jobs allow you to run periodic background tasks. On Android, this is powered by WorkManager. On iOS, by BGTaskScheduler. On Windows, by COM-activated background tasks. On Linux, macOS, Blazor WebAssembly, and any other plain .NET host, jobs are run by an in-process managed JobManager driven by a recurring timer — jobs only execute while the host process is alive. On Blazor WebAssembly, reference Shiny.Core.Blazor for IBattery/IConnectivity and (optionally) Shiny.Extensions.Stores.Web if you’d rather persist job state to localStorage than the default filesystem repository.

Jobs do not work on the iOS Simulator. You must test on a real device.

PlatformPackageNotes
AndroidShiny.JobsWorkManager — true OS-managed background execution
iOSShiny.JobsBGTaskScheduler — OS decides when
WindowsShiny.JobsCOM-activated background tasks; tasks fire while the process is running (no background-mode triggering yet)
Linux / macOS / Plain .NETShiny.JobsIn-process managed JobManager on a recurring timer; filesystem JSON repository
Blazor WebAssemblyShiny.Jobs (+ Shiny.Core.Blazor)Same in-process scheduler. No separate meta-package — reference Shiny.Jobs directly and bring in Shiny.Core.Blazor for battery/connectivity. Optionally use Shiny.Extensions.Stores.Web for localStorage-backed state.
  • Cross-platform background job execution
  • Runtime criteria (internet access, charging, battery level)
  • Full dependency injection support
  • Stateful jobs (persists state across runs)
  • Foreground execution option
Shiny.JobsNuGet package Shiny.Jobs
Shiny.Hosting.MauiNuGet package Shiny.Hosting.Maui