diff options
Diffstat (limited to 'src/marlin.agents.shell/Program.cs')
| -rw-r--r-- | src/marlin.agents.shell/Program.cs | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/marlin.agents.shell/Program.cs b/src/marlin.agents.shell/Program.cs index 837131c..02a0bc9 100644 --- a/src/marlin.agents.shell/Program.cs +++ b/src/marlin.agents.shell/Program.cs @@ -1 +1,20 @@ -Console.WriteLine("Hello, World!");
\ No newline at end of file +using System.Runtime.InteropServices; +using marlin.agents.shell; +using marlin.core.models; + +DotNetEnv.Env.NoClobber().TraversePath().Load(); + +var client = MarlinApiClient.FromEnvironment(); + +var capabilities = new CapabilitySet(); +capabilities.Items.Add(KnownCapabilities.Architecture, RuntimeInformation.OSArchitecture.ToString()); +capabilities.Items.Add(KnownCapabilities.CoreCount, Environment.ProcessorCount.ToString()); +capabilities.Items.Add(KnownCapabilities.Memory, (GC.GetGCMemoryInfo().TotalAvailableMemoryBytes / (1024 * 1024)).ToString()); +var status = new AgentStatus(capabilities); + +AgentConfiguration config = await client.Handshake(status); +Console.WriteLine($"IAM: {config.Name}"); +Console.WriteLine($"MCJ: {config.MaxConcurrentJobs}"); + +var job = await client.QueueNextJob(); +Console.WriteLine(job == null ? "No pending jobs." : $"Claimed job {job.Id}: {job.Recipe}"); |
