joshua211 / YAJQ.Net

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

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


Languages

Language:C# 92.1%Language:HTML 4.8%Language:CSS 3.1%