Gofer.NET
1.0.0
阅读文档
这是.NET标准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 ( ) ) ;
}
}阅读文档以获取更多详细信息。