53 lines
1.9 KiB
C#
53 lines
1.9 KiB
C#
using System;
|
|
using Hangfire.Raven.Storage;
|
|
|
|
namespace Hangfire.Raven.Samples.Console
|
|
{
|
|
public static class Program
|
|
{
|
|
public static int x = 0;
|
|
|
|
public static void Main()
|
|
{
|
|
try {
|
|
// you can use Raven Storage and specify the connection string name
|
|
GlobalConfiguration.Configuration
|
|
.UseColouredConsoleLogProvider()
|
|
.UseRavenStorage("RavenDebug");
|
|
|
|
// you can use Raven Storage and specify the connection string and database name
|
|
//GlobalConfiguration.Configuration
|
|
// .UseColouredConsoleLogProvider()
|
|
// .UseRavenStorage("http://localhost:9090", "HangfireConsole");
|
|
|
|
// you can use Raven Embedded Storage which runs in memory!
|
|
//GlobalConfiguration.Configuration
|
|
// .UseColouredConsoleLogProvider()
|
|
// .UseEmbeddedRavenStorage();
|
|
|
|
//you have to create an instance of background job server at least once for background jobs to run
|
|
var client = new BackgroundJobServer();
|
|
|
|
// Run once
|
|
BackgroundJob.Enqueue(() => System.Console.WriteLine("Background Job: Hello, world!"));
|
|
|
|
BackgroundJob.Enqueue(() => Test());
|
|
|
|
// Run every minute
|
|
RecurringJob.AddOrUpdate(() => Test(), Cron.Minutely);
|
|
|
|
System.Console.WriteLine("Press Enter to exit...");
|
|
System.Console.ReadLine();
|
|
} catch (Exception ex) {
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
[AutomaticRetry(Attempts = 2, LogEvents = true, OnAttemptsExceeded = AttemptsExceededAction.Delete)]
|
|
public static void Test()
|
|
{
|
|
System.Console.WriteLine($"{x++} Cron Job: Hello, world!");
|
|
//throw new ArgumentException("fail");
|
|
}
|
|
}
|
|
} |