mirror of
https://github.com/temporal-community/temporal-ai-agent.git
synced 2026-03-15 22:18:09 +01:00
Add dotnet activities for train interface.
This commit is contained in:
52
enterprise/Program.cs
Normal file
52
enterprise/Program.cs
Normal file
@@ -0,0 +1,52 @@
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Temporalio.Client;
|
||||
using Temporalio.Worker;
|
||||
using TrainSearchWorker.Activities;
|
||||
|
||||
var services = new ServiceCollection();
|
||||
|
||||
// Add HTTP client
|
||||
services.AddHttpClient("TrainApi", client =>
|
||||
{
|
||||
client.BaseAddress = new Uri("http://localhost:8080/");
|
||||
client.DefaultRequestHeaders.Add("Accept", "application/json");
|
||||
});
|
||||
|
||||
// Add activities
|
||||
services.AddScoped<TrainActivities>();
|
||||
|
||||
var serviceProvider = services.BuildServiceProvider();
|
||||
|
||||
// Create client
|
||||
var client = await TemporalClient.ConnectAsync(new()
|
||||
{
|
||||
TargetHost = "localhost:7233",
|
||||
});
|
||||
|
||||
// Create worker options
|
||||
var options = new TemporalWorkerOptions("agent-task-queue-legacy");
|
||||
|
||||
// Register activities
|
||||
var activities = serviceProvider.GetRequiredService<TrainActivities>();
|
||||
options.AddActivity(activities.SearchTrains);
|
||||
options.AddActivity(activities.BookTrains);
|
||||
|
||||
// Create and run worker
|
||||
var worker = new TemporalWorker(client, options);
|
||||
|
||||
Console.WriteLine("Starting worker...");
|
||||
using var tokenSource = new CancellationTokenSource();
|
||||
Console.CancelKeyPress += (_, eventArgs) =>
|
||||
{
|
||||
eventArgs.Cancel = true;
|
||||
tokenSource.Cancel();
|
||||
};
|
||||
|
||||
try
|
||||
{
|
||||
await worker.ExecuteAsync(tokenSource.Token);
|
||||
}
|
||||
catch (OperationCanceledException)
|
||||
{
|
||||
Console.WriteLine("Worker shutting down...");
|
||||
}
|
||||
Reference in New Issue
Block a user