All Projects → imranmomin → Hangfire.AzureDocumentDB

imranmomin / Hangfire.AzureDocumentDB

Licence: MIT license
Azure DocumentDB storage provider for Hangfire

Programming Languages

C#
18002 projects
typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Hangfire.AzureDocumentDB

Azurlshortener
An simple and easy Url Shortener
Stars: ✭ 247 (+1664.29%)
Mutual labels:  storage
Hangfire.Atoms
Execute multiple jobs as a one atomic job.
Stars: ✭ 20 (+42.86%)
Mutual labels:  hangfire
ng2-storage
A local and session storage wrapper for angular 2.
Stars: ✭ 14 (+0%)
Mutual labels:  storage
Aresdb
A GPU-powered real-time analytics storage and query engine.
Stars: ✭ 2,814 (+20000%)
Mutual labels:  storage
Hangfire.MemoryStorage
A memory storage for Hangfire.
Stars: ✭ 113 (+707.14%)
Mutual labels:  hangfire
bitcrust
Bitcoin software suite
Stars: ✭ 61 (+335.71%)
Mutual labels:  storage
React Native Fetch Blob
This project was started in the cause of solving issue facebook/react-native#854, React Native's lacks of Blob implementation which results into problems when transferring binary data.
Stars: ✭ 2,593 (+18421.43%)
Mutual labels:  storage
Pomegranate
🌳 A tiny skiplist based log-structured merge-tree written in Rust.
Stars: ✭ 20 (+42.86%)
Mutual labels:  storage
Hangfire.MissionControl
A plugin for Hangfire that enables you to launch jobs manually.
Stars: ✭ 51 (+264.29%)
Mutual labels:  hangfire
estuary
A custom IPFS/Filecoin node that makes it easy to pin IPFS content and make Filecoin deals.
Stars: ✭ 195 (+1292.86%)
Mutual labels:  storage
Bus
Bus 是一个基础框架、服务套件,它基于Java8编写,参考、借鉴了大量已有框架、组件的设计,可以作为后端服务的开发基础中间件。代码简洁,架构清晰,非常适合学习使用。
Stars: ✭ 253 (+1707.14%)
Mutual labels:  storage
SdvCodeWebsite
Simeon Valev - Personal Blog - Developed on ASP.NET Core MVC - Server-Side Blazor - See README.md file for more information
Stars: ✭ 38 (+171.43%)
Mutual labels:  hangfire
drive-desktop
internxt.com/drive
Stars: ✭ 102 (+628.57%)
Mutual labels:  storage
Depot.js
📦 depot.js is a storage library with a simple API
Stars: ✭ 247 (+1664.29%)
Mutual labels:  storage
synology-csi
Container Storage Interface (CSI) for Synology
Stars: ✭ 136 (+871.43%)
Mutual labels:  storage
Kadalu
A lightweight Persistent storage solution for Kubernetes / OpenShift using GlusterFS in background.
Stars: ✭ 239 (+1607.14%)
Mutual labels:  storage
apollo-cache-instorage
Apollo Cache implementation that facilitates locally storing resources
Stars: ✭ 98 (+600%)
Mutual labels:  storage
MusicX
MusicX is a music player 🎵 android app built using Kotlin and Jetpack Compose. It follows M.A.D. practices and hence is a good learning resource for beginners
Stars: ✭ 85 (+507.14%)
Mutual labels:  storage
storage
A library to use Web Storage API with Observables
Stars: ✭ 43 (+207.14%)
Mutual labels:  storage
sqstorage
A easy to use and quick way to organize your inventory, storages and storage areas
Stars: ✭ 18 (+28.57%)
Mutual labels:  storage

Hangfire.AzureDocumentDB

Official Site Latest version Downloads Build status

This repo will add a Microsoft Azure Cosmos DB storage support to Hangfire - fire-and-forget, delayed and recurring tasks runner for .NET. Scalable and reliable background job runner. Supports multiple servers, CPU and I/O intensive, long-running and short-running jobs.

No Maintaince

Due to current SDK is not being supported anymore, this project will not longer be maitained. If you want the support for the latest SDK v3 Microsoft.Azure.Cosmos, you will have to use [Hangfire.AzureCosmosDb]

Installation

Hangfire.AzureDocumentDB is available on NuGet.

Package Manager

PM> Install-Package Hangfire.AzureDocumentDB

.NET CLI

> dotnet add package Hangfire.AzureDocumentDB

PackageReference

<PackageReference Include="Hangfire.AzureDocumentDB" Version="0.0.0" />

Usage

Use one the following ways to initialize DocumentDbStorage

GlobalConfiguration.Configuration.UseAzureDocumentDbStorage("<url>", "<authSecret>", "<databaseName>", "<collectionName>");

Hangfire.Azure.DocumentDbStorage storage = new Hangfire.Azure.DocumentDbStorage("<url>", "<authSecret>", "<databaseName>", "<collectionName>");
GlobalConfiguration.Configuration.UseStorage(storage);
// customize any options
Hangfire.Azure.DocumentDbStorageOptions options = new Hangfire.Azure.DocumentDbStorageOptions
{
    RequestTimeout = TimeSpan.FromSeconds(30),
    ExpirationCheckInterval = TimeSpan.FromMinutes(2),
    CountersAggregateInterval = TimeSpan.FromMinutes(2),
    QueuePollInterval = TimeSpan.FromSeconds(15),
    ConnectionMode = ConnectionMode.Direct,
    ConnectionProtocol = Protocol.Tcp,
    EnablePartition = false // default: false true; to enable partition on /type
};

GlobalConfiguration.Configuration.UseAzureDocumentDbStorage("<url>", "<authSecret>", "<databaseName>", "<collectionName>", options);

// or 

Hangfire.Azure.DocumentDbStorage storage = new Hangfire.Azure.DocumentDbStorage("<url>", "<authSecret>", "<databaseName>", "<collectionName>", options);
GlobalConfiguration.Configuration.UseStorage(storage);

Recommendations

  • Keep seperate database/collection for the hangfire. (Now you can enable free tier on Azure)
  • Enable partitioning by /type

SDK Support

This package only support using Microsoft.Azure.DocumentDB. If you want the support for the latest SDK v3 Microsoft.Azure.Cosmos, you will have to use Hangfire.AzureCosmosDb

Questions? Problems?

Open-source project are developing more smoothly, when all discussions are held in public.

If you have any questions or problems related to Hangfire.AzureDocumentDB itself or this storage implementation or want to discuss new features, please create under issues and assign the correct label for discussion.

If you've discovered a bug, please report it to the GitHub Issues. Detailed reports with stack traces, actual and expected behavours are welcome.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].