Прочитайте документы
Это распределенный бегун для заданий для приложений .NET Standard 2.0.
Вдохновленный сельдереем для Python, он позволяет быстро очереди выполнять код в пуле работников.
Используйте синтаксис естественного выражения для очереди задания для выполнения.
Задача в очереди сохраняется и автоматически управляется первым доступным работником.
Масштабируйте свой работник пул, просто добавив новые узлы.
При поддержке Redis все задачи постоянны.
Мы рекомендуем использовать Dotnet CLI, чтобы начать, но это не необходимость.
Dotnet CLI является частью .NET CORE SDK.
Мы рекомендуем использовать Docker, чтобы запустить местный экземпляр Redis для тестирования. Настройка экземпляра Redis на уровне производства выходит за рамки этой документации.
$ docker run -d -p 127.0.0.1:6379:6379 redis:4-alpineОткройте терминал и создайте новый консольный проект, чтобы начать работу.
$ mkdir myProject && cd myProject
$ dotnet new console$ dotnet add package Gofer.NET --version 1.0.0- * В этом примере Program.cs показывает, как стоять в очереди рабочих рабочих мест для обработки работников, а затем запустить работника, чтобы пойти и запустить их.
Некоторые важные примечания:
Работники обычно будут на отдельной машине от кода, очередя задачи, это исключительно для примера.
Больше работников может быть добавлено в любое время, и немедленно начнет собирать работу из очереди.
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 ( ) ) ;
}
}Прочитайте документы для более подробной информации.