/YAJQ.Net

Distributed and DI based Job Queue to execute jobs in the background

Primary LanguageC#

Yet Another Job Queue (YAJQ)

CircleCI GitHub Workflow Status Nuget
Preview/Prototype

What is YAJQ

  • distributed and DI based task scheduler job scheduler job queue
  • designed to be used in applications that use the .Net Host system and Dependency Injection
  • simple to use and easy to extend/modify
  • every important system is registered as a serivice and can be easily replaced or changed
  • uses Redis as a fast and persistent database

Getting started

Basic

Run dotnet add package YAJQ.DependencyInjection and
Run dotnet add package YAJQ.Hosted

Add required services

builder.Services.AddYAJQ();
builder.Services.AddHostedJobHandler();

Enqueue or schedule a job

await jobQueue.EnqueueJobAsync(() => SendJobCompleteMessage(id)); //Execute instantly
await jobQueue.ScheduleJobAsync(() => SendJobCompleteMessage(id), DateTimeOffset.Now.AddSeconds(5)); //Execute in 5 seconds

Redis

WIP

...

Distributed Job Handlers