Gofer.NET
1.0.0
문서를 읽으십시오
.NET Standard 2.0 응용 프로그램을위한 분산 작업 러너입니다.
Python의 Celery에서 영감을 얻은이 제품을 사용하면 작업자 풀에서 코드 실행을 신속하게 대기 할 수 있습니다.
실행을 위해 자연스러운 표현 구문을 대기열 작업에 사용하십시오.
대기열 작업은 지속되며 최초의 사용 가능한 근로자가 자동으로 운영합니다.
단순히 새 노드를 추가하여 작업자 풀을 확장하십시오.
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 ( ) ) ;
}
}자세한 내용은 문서를 읽으십시오.