Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/CadyIO/hangfire-ravendb
RavenDB job storage for Hangfire
https://github.com/CadyIO/hangfire-ravendb
c-sharp dotnet dotnet-core hangfire ravendb recurring-tasks scheduled-jobs
Last synced: about 2 months ago
JSON representation
RavenDB job storage for Hangfire
- Host: GitHub
- URL: https://github.com/CadyIO/hangfire-ravendb
- Owner: CadyIO
- Created: 2015-10-16T20:50:25.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2022-12-07T18:55:49.000Z (almost 2 years ago)
- Last Synced: 2024-07-11T17:09:20.180Z (2 months ago)
- Topics: c-sharp, dotnet, dotnet-core, hangfire, ravendb, recurring-tasks, scheduled-jobs
- Language: C#
- Homepage: https://www.nuget.org/packages/Hangfire.Raven/
- Size: 7.11 MB
- Stars: 18
- Watchers: 11
- Forks: 35
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Hangfire RavenDB
## Build Status
`Platform` | `Master`
--- | ---
**Windows** | [![Build status](https://ci.appveyor.com/api/projects/status/hcmu0b0p62mbuwen?svg=true)](https://ci.appveyor.com/project/CadyIO/hangfire-ravendb)
**Linux / OS X** | [![Travis CI Build Status](https://travis-ci.org/CadyIO/hangfire-ravendb.svg?branch=master)](https://travis-ci.org/CadyIO/hangfire-ravendb)## Overview
RavenDB job storage for Hangfire
## Usage
This is how you connect to a ravendb server (local or remote)
```csharp
GlobalConfiguration.Configuration.UseRavenStorage("connection_string", "database_name");
```This is how you connect to an embedded ravendb instance
```csharp
GlobalConfiguration.Configuration.UseEmbeddedRavenStorage();
```To enqueue a background job you must have the following in the code somewhere at least once or the background job queue will not process
```csharp
var client = new BackgroundJobServer();
\\then you can do this, which runs once
BackgroundJob.Enqueue(() => Console.WriteLine("Background Job: Hello, world!"));
```[**Delayed tasks**](http://docs.hangfire.io/en/latest/users-guide/background-methods/calling-methods-with-delay.html)
Scheduled background jobs are being executed only after given amount of time.
```csharp
BackgroundJob.Schedule(() => Console.WriteLine("Reliable!"), TimeSpan.FromDays(7));
```[**Recurring tasks**](http://docs.hangfire.io/en/latest/users-guide/background-methods/performing-recurrent-tasks.html)
Recurring jobs were never been simpler, just call the following method to perform any kind of recurring task using the [CRON expressions](http://en.wikipedia.org/wiki/Cron#CRON_expression).
```csharp
RecurringJob.AddOrUpdate(() => Console.WriteLine("Transparent!"), Cron.Daily);
```## Continuations
Continuations allow you to define complex workflows by chaining multiple background jobs together.
```csharp
var id = BackgroundJob.Enqueue(() => Console.WriteLine("Hello, "));
BackgroundJob.ContinueWith(id, () => Console.WriteLine("world!"));
```## License
Copyright © 2013-2014 Sergey Odinokov.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see [http://www.gnu.org/licenses/](http://www.gnu.org/licenses).## Known Bugs
Hangfire.Tests requires RavenDB.Client which requires .Net 4.5. Until RavenDB 4.0 is released, Hangfire.Tests cannot be included and run.