Lesen Sie die Dokumente
Dies ist ein verteilter Jobläufer für .NET Standard 2.0 -Anwendungen.
Inspiriert von Sellerie für Python und ermöglicht es Ihnen, die Ausführung von Code in einem Arbeiterpool schnell zu starten.
Verwenden Sie natürliche Expressionssyntax, um Jobs für die Ausführung aufzustellen.
In der Warteschlange werden in der Warteschlange bestehen und automatisch vom ersten verfügbaren Arbeiter ausgeführt.
Skalieren Sie Ihren Arbeiterpool, indem Sie einfach neue Knoten hinzufügen.
Von Redis unterstützt, sind alle Aufgaben hartnäckig.
Wir empfehlen, die Dotnet CLI zu verwenden, um loszulegen, aber es ist keine Notwendigkeit.
Die Dotnet -CLI ist Teil des .NET Core SDK.
Wir empfehlen, Docker zu verwenden, um eine lokale Redis -Instanz zum Testen zu starten. Die Einrichtung einer Redis-Instanz auf Produktionsebene liegt nicht im Rahmen dieser Dokumentation.
$ docker run -d -p 127.0.0.1:6379:6379 redis:4-alpineÖffnen Sie ein Terminal und erstellen Sie ein neues Konsolenprojekt, um loszulegen.
$ mkdir myProject && cd myProject
$ dotnet new console$ dotnet add package Gofer.NET --version 1.0.0- * Dieses Program.cs zeigt, wie man Jobs anstellen, damit der Arbeiterpool verarbeitet werden kann, und dann einen Arbeiter zu starten, um ihn auszuführen.
Einige wichtige Anmerkungen:
Die Arbeitnehmer befinden sich in der Regel auf einer separaten Maschine von der Code, die sich den Jobs anstellen, dies ist nur ein Beispiel.
Weitere Arbeitnehmer können jederzeit hinzugefügt werden und werden sofort Jobs von der Warteschlange abholen.
public class Program
{
public static async Task Main ( string [ ] args )
{
var redisConnectionString = "127.0.0.1:6379" ;
// Create a Task Client connected to Redis
var taskClient = new TaskClient ( TaskQueue . Redis ( redisConnectionString ) ) ;
// Queue up a Sample Job
await taskClient . TaskQueue . Enqueue ( ( ) => SampleJobFunction ( "Hello World!" ) ) ;
// Start the task listener, effectively turning this process into a worker.
// NOTE: This will loop endlessly waiting for new tasks.
await taskClient . Listen ( ) ;
}
private static void SampleJobFunction ( object value )
{
Console . WriteLine ( value . ToString ( ) ) ;
}
}Lesen Sie die Dokumente für weitere Details.