Murtadoc
MyBoerse.bz Pro Member
Hangfire Pro v2.2.1 and Hangfire Pro Redis v2.5.5 Retail
Hangfire Pro ist eine Reihe von Erweiterungspaketen, die die Leistung steigern und die Wartung der Hintergrundjobverarbeitung in großen Anwendungen vereinfachen. Hangfire Pro-Pakete sind unter kostenpflichtigen Abonnements verfügbar. Nach dem Kauf erhalten Sie Binärdateien und Zugriff auf das private Repository auf GitHub.
Pakete:
Hangfire.Pro
Schaffung von Arbeitsplätzen im atomaren Hintergrund
Mit Batches können Sie eine Reihe von Hintergrundjobs atomar erstellen. Dies bedeutet, dass keine Ausnahme verarbeitet wird, wenn beim Erstellen von Hintergrundjobs eine Ausnahme aufgetreten ist. Stellen Sie sich vor, Sie möchten 1000 E-Mails an Ihre Kunden senden, und diese möchten diese E-Mails wirklich empfangen. Hier ist der alte Weg:
für (var i = 0; i <1000; i ++)
{
BackgroundJob.Enqueue (() => SendEmail (i));
// Was ist ausnahmsweise zu tun?
}}
BatchJob.StartNew (x =>
{
für (var i = 0; i <1000; i ++)
{
x.Enqueue (() => SendEmail (i));
}}
});
Im Ausnahmefall können Sie einem Benutzer einen Fehler anzeigen und ihn nach einigen Minuten einfach auffordern, seine Aktion erneut zu versuchen. Kein anderer Code erforderlich!
Chargen verketten
Mit Fortsetzungen können Sie mehrere Stapel miteinander verketten. Sie werden ausgeführt, sobald alle Hintergrundjobs eines übergeordneten Stapels abgeschlossen sind. Betrachten Sie das vorherige Beispiel, in dem Sie 1000 E-Mails senden müssen. Wenn Sie nach dem Senden eine endgültige Aktion ausführen möchten, fügen Sie einfach eine Fortsetzung hinzu:
var id1 = BatchJob.StartNew (/ * für (var i = 0; i <1000 ... * /);
var id2 = BatchJob.ContinueWith (id1, x =>
{
x.Enqueue (() => MarkCampaignFinished ());
x.Enqueue (() => NotifyAdministrator ());
});
Mit Batches und Batch-Fortsetzungen können Sie Workflows definieren und konfigurieren, welche Aktionen parallel ausgeführt werden. Dies ist sehr nützlich für umfangreiche Berechnungsmethoden, da diese auf verschiedene Maschinen verteilt werden können.
Komplexe Workflows
Die Aktion "Erstellen" beschränkt Sie nicht darauf, Jobs nur im Status "In Warteschlange" zu erstellen. Sie können Jobs für die spätere Ausführung planen, Fortsetzungen hinzufügen, Fortsetzungen zu Fortsetzungen hinzufügen usw.
var batchId = BatchJob.StartNew (x =>
{
x.Enqueue (() => Console.Write ("1a ..."));
var id1 = x.Schedule (() => Console.Write ("1b ..."), TimeSpan.FromSeconds (1));
var id2 = x.ContinueWith (id1, () => Console.Write ("2 ..."));
x.ContinueWith (id2, () => Console.Write ("3 ..."));
});
BatchJob.ContinueWith (batchId, x =>
{
x.Enqueue (() => Console.WriteLine ("4 ..."));
});
Hangfire.Pro.Redis
Hangfire Pro wird mit dem Paket Hangfire.Pro.Redis geliefert, das den Redis-Server verwendet, um Hintergrundjobs und andere Daten beizubehalten.
Redis ist bekannt für seine herausragende Leistung. Hier sind die Ergebnisse eines relativen Vergleichs zwischen Hangfire.SqlServer- und Hangfire.Redis-Speichern.
Hangfire.Pro.PerformanceCounters
Mit dem Paket Hangfire.Pro.PerformanceCounters kann Hangfire seine internen Metriken in Windows-Leistungsindikatoren veröffentlichen - die Standardmethode zur Überwachung von Windows-Anwendungen und -Diensten.
Sie können also vorhandene Tools wie Nagios, New Relic, Server Density und andere verwenden, um den Zustand Ihrer Dienste proaktiv zu überwachen.
32.1 MB
rar archive
Download Link:
Hangfire Pro ist eine Reihe von Erweiterungspaketen, die die Leistung steigern und die Wartung der Hintergrundjobverarbeitung in großen Anwendungen vereinfachen. Hangfire Pro-Pakete sind unter kostenpflichtigen Abonnements verfügbar. Nach dem Kauf erhalten Sie Binärdateien und Zugriff auf das private Repository auf GitHub.
Pakete:
Hangfire.Pro
Schaffung von Arbeitsplätzen im atomaren Hintergrund
Mit Batches können Sie eine Reihe von Hintergrundjobs atomar erstellen. Dies bedeutet, dass keine Ausnahme verarbeitet wird, wenn beim Erstellen von Hintergrundjobs eine Ausnahme aufgetreten ist. Stellen Sie sich vor, Sie möchten 1000 E-Mails an Ihre Kunden senden, und diese möchten diese E-Mails wirklich empfangen. Hier ist der alte Weg:
für (var i = 0; i <1000; i ++)
{
BackgroundJob.Enqueue (() => SendEmail (i));
// Was ist ausnahmsweise zu tun?
}}
BatchJob.StartNew (x =>
{
für (var i = 0; i <1000; i ++)
{
x.Enqueue (() => SendEmail (i));
}}
});
Im Ausnahmefall können Sie einem Benutzer einen Fehler anzeigen und ihn nach einigen Minuten einfach auffordern, seine Aktion erneut zu versuchen. Kein anderer Code erforderlich!
Chargen verketten
Mit Fortsetzungen können Sie mehrere Stapel miteinander verketten. Sie werden ausgeführt, sobald alle Hintergrundjobs eines übergeordneten Stapels abgeschlossen sind. Betrachten Sie das vorherige Beispiel, in dem Sie 1000 E-Mails senden müssen. Wenn Sie nach dem Senden eine endgültige Aktion ausführen möchten, fügen Sie einfach eine Fortsetzung hinzu:
var id1 = BatchJob.StartNew (/ * für (var i = 0; i <1000 ... * /);
var id2 = BatchJob.ContinueWith (id1, x =>
{
x.Enqueue (() => MarkCampaignFinished ());
x.Enqueue (() => NotifyAdministrator ());
});
Mit Batches und Batch-Fortsetzungen können Sie Workflows definieren und konfigurieren, welche Aktionen parallel ausgeführt werden. Dies ist sehr nützlich für umfangreiche Berechnungsmethoden, da diese auf verschiedene Maschinen verteilt werden können.
Komplexe Workflows
Die Aktion "Erstellen" beschränkt Sie nicht darauf, Jobs nur im Status "In Warteschlange" zu erstellen. Sie können Jobs für die spätere Ausführung planen, Fortsetzungen hinzufügen, Fortsetzungen zu Fortsetzungen hinzufügen usw.
var batchId = BatchJob.StartNew (x =>
{
x.Enqueue (() => Console.Write ("1a ..."));
var id1 = x.Schedule (() => Console.Write ("1b ..."), TimeSpan.FromSeconds (1));
var id2 = x.ContinueWith (id1, () => Console.Write ("2 ..."));
x.ContinueWith (id2, () => Console.Write ("3 ..."));
});
BatchJob.ContinueWith (batchId, x =>
{
x.Enqueue (() => Console.WriteLine ("4 ..."));
});
Hangfire.Pro.Redis
Hangfire Pro wird mit dem Paket Hangfire.Pro.Redis geliefert, das den Redis-Server verwendet, um Hintergrundjobs und andere Daten beizubehalten.
Redis ist bekannt für seine herausragende Leistung. Hier sind die Ergebnisse eines relativen Vergleichs zwischen Hangfire.SqlServer- und Hangfire.Redis-Speichern.
Hangfire.Pro.PerformanceCounters
Mit dem Paket Hangfire.Pro.PerformanceCounters kann Hangfire seine internen Metriken in Windows-Leistungsindikatoren veröffentlichen - die Standardmethode zur Überwachung von Windows-Anwendungen und -Diensten.
Sie können also vorhandene Tools wie Nagios, New Relic, Server Density und andere verwenden, um den Zustand Ihrer Dienste proaktiv zu überwachen.
32.1 MB
rar archive
Download Link: