添加项目文件。
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
using DotNetCore.CAP.Messages;
|
||||
using FishRoomService.MQ;
|
||||
|
||||
namespace FishRoomHost.Extension
|
||||
{
|
||||
public static class CapExtension
|
||||
{
|
||||
public static IServiceCollection AddCap(this IServiceCollection services, IConfiguration configuration)
|
||||
{
|
||||
services.AddCap(x =>
|
||||
{
|
||||
x.UseDashboard();
|
||||
x.UseRabbitMQ(rb =>
|
||||
{
|
||||
rb.HostName = configuration["CapConfig:Host"];
|
||||
rb.UserName = configuration["CapConfig:UserName"];
|
||||
rb.Password = configuration["CapConfig:Password"];
|
||||
rb.VirtualHost = configuration["CapConfig:VirtualHost"];
|
||||
rb.ExchangeName = "cap.exchange";
|
||||
});
|
||||
x.UsePostgreSql(op =>
|
||||
{
|
||||
op.ConnectionString = configuration["CapConfig:PGLogHost"];
|
||||
op.Schema = "public";
|
||||
});
|
||||
|
||||
|
||||
|
||||
x.SucceedMessageExpiredAfter = 7 * 24 * 3600;
|
||||
x.FailedRetryCount = 5;
|
||||
x.FailedRetryInterval = 10;
|
||||
x.FailedThresholdCallback = ObjFailedThresholdCallback;
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
services.AddTransient<IRoomMQService, RoomMQService>();
|
||||
return services;
|
||||
}
|
||||
|
||||
private static async void ObjFailedThresholdCallback(FailedInfo failed)
|
||||
{
|
||||
var exception = failed.Message.Headers["cap-exception"] ?? string.Empty;
|
||||
var name = failed.Message.GetName();
|
||||
if (failed.MessageType == MessageType.Publish)
|
||||
{
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user