-
-
Notifications
You must be signed in to change notification settings - Fork 295
Expand file tree
/
Copy pathProgram.cs
More file actions
36 lines (26 loc) · 1.01 KB
/
Program.cs
File metadata and controls
36 lines (26 loc) · 1.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
using AspNetGrains.Messages;
using Proto;
using Proto.Cluster;
using Proto.Cluster.Consul;
using Proto.Remote;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddLogging(x => x.AddConsole());
builder.Services.AddProtoCluster("MyCluster", port: 0,
configureRemote: r => r.WithProtoMessages(AspNetGrains.Messages.ProtosReflection.Descriptor),
configureCluster: c => c, clusterProvider: new ConsulProvider(new ConsulProviderConfig()));
builder.Services.AddHealthChecks().AddCheck<ClusterHealthCheck>("proto", null, new[] { "ready", "live" });
var app = builder.Build();
app.MapGet("/", async (Cluster cluster) =>
{
var helloGrain = cluster.GetHelloGrain("MyGrain");
var res = await helloGrain.SayHello(new HelloRequest(), CancellationTokens.FromSeconds(5));
Console.WriteLine(res.Message);
return res.Message;
});
app.MapGet("/diagnostics", (ActorSystem system) =>
{
var entries = system.Diagnostics.GetDiagnostics();
return entries;
});
app.MapHealthChecks("/health");
app.Run();