Пример #1
0
 public void Execute(SkynetClient client)
 {
     try
     {
         var result = client.Send(new Core.Contracts.Packages.GetPackageInfo(PackageName), TimeSpan.FromSeconds(10));
         Console.WriteLine("Pacakge Name: \t {0}", result.PackageName);
         Console.WriteLine();
         Console.WriteLine("Location: \t {0}", result.Location);
         Console.WriteLine();
         Console.WriteLine("Files: \t");
         foreach (var item in result.Files.OrderBy(x => x))
         {
             Console.WriteLine(" \t \t " + item);
         }
         Console.WriteLine();
         if (result.Metadata != null && result.Metadata.Any())
         {
             Console.WriteLine("Metadata: \t");
             var table = new Table();
             foreach (var item in result.Metadata)
             {
                 table.AddRow(item.Key, item.Value);
                 //Console.WriteLine("{0}: \t {1}", item.Key, item.Value);
             }
             Console.WriteLine(table.Output());
             Console.WriteLine();
         }
     }
     catch (TimeoutException ex)
     {
         log.Error("Operation timeout after 10 seconds.");
     }
 }
Пример #2
0
        public void Execute()
        {
            //   throw new Exception("aasd");

            var tcpClient = new TcpClient(ServerLocation, ServerPort);
            var skynet = new SkynetClient("Client", tcpClient, null);
            skynet.Connect(true, false, TimeSpan.FromSeconds(60));
            try
            {
                var assembly = Assembly.LoadFrom(File);

                assembly.EntryPoint.Invoke(null, new object[] { new string[] { "args" } });
                new ManualResetEvent(false).WaitOne(1000);
            }
            catch (Exception ex)
            {
                log.Error("Failed to start process", ex);

                Environment.Exit(0);
            }

            //  runner.Start("");

            Environment.Exit(1);
        }
Пример #3
0
 public void Execute(SkynetClient client)
 {
     try
     {
         var result = client.Send(new Core.Contracts.Packages.GetAllPackages(), TimeSpan.FromSeconds(10));
         Console.WriteLine("{0} \t {1}", "Name", "Executable");
         foreach (var item in result.Packages)
         {
             Console.WriteLine("{0} \t {1}", item.Name, item.Location);
         }
     }
     catch (TimeoutException ex)
     {
         log.Error("Operation timeout after 10 seconds.");
     }
 }
Пример #4
0
 public void Execute(SkynetClient client)
 {
     try
     {
         var result = client.Send(new Core.Contracts.Packages.GetAllPackages(), TimeSpan.FromSeconds(10));
         var table  = new Table();
         table.AddRow("Package Name", "Package Location");
         foreach (var item in result.Packages.OrderBy(x => x.Name))
         {
             table.AddRow(item.Name, item.Location);
         }
         Console.Write(table.Output());
         Console.WriteLine();
     }
     catch (TimeoutException ex)
     {
         log.Error("Operation timeout after 10 seconds.");
     }
 }
Пример #5
0
 public void Execute(SkynetClient client)
 {
     try
     {
         var result = client.Send(new GetAllProcesses(), TimeSpan.FromSeconds(10));
         var table  = new Table();
         table.AddRow("Package Name", "Name", "Process Id", "Last Heartbeat", "Status");
         foreach (var item in result.Packages.OrderBy(x => x.PackageName))
         {
             var status = item.Extied ? "Dead" : "Live";
             status = item.Extied == false && item.Responding == false ? "Not responding" : status;
             table.AddRow(item.PackageName, item.Name, item.ProcessId, TimeAgo(item.LastHeartbeat), status);
         }
         Console.Write(table.Output());
         Console.WriteLine();
     }
     catch (TimeoutException ex)
     {
         log.Error("Operation timeout after 10 seconds.");
     }
 }
Пример #6
0
        public void Execute(SkynetClient client)
        {
            try
            {
                var result = client.Send(new GetAllProcesses(), TimeSpan.FromSeconds(10));
                var table = new Table();
                table.AddRow("Package Name", "Name", "Process Id", "Last Heartbeat", "Status");
                foreach (var item in result.Packages.OrderBy(x => x.PackageName))
                {

                    var status = item.Extied ? "Dead" : "Live";
                    status = item.Extied == false && item.Responding == false ? "Not responding" : status;
                    table.AddRow(item.PackageName, item.Name, item.ProcessId, TimeAgo(item.LastHeartbeat), status);
                }
                Console.Write(table.Output());
                Console.WriteLine();
            }
            catch (TimeoutException ex)
            {
                log.Error("Operation timeout after 10 seconds.");
            }
        }
Пример #7
0
        public void Execute()
        {
            var tcpClient = new TcpClient(ServerLocation, ServerPort);
            var skynet    = new SkynetClient("Client", tcpClient, null);

            skynet.Connect(true, false, TimeSpan.FromSeconds(60));
            try
            {
                var assembly = Assembly.LoadFrom(File);

                assembly.EntryPoint.Invoke(null, new object[] { new string[] { "args" } });
                new ManualResetEvent(false).WaitOne(1000);
            }
            catch (Exception ex)
            {
                log.Error("Failed to start process", ex);

                Environment.Exit(0);
            }

            Environment.Exit(1);
        }
Пример #8
0
        public void Execute()
        {
            var client = new TcpClient(Address, Port);
            var skynet = new SkynetClient("Skynet Command Line Interface", client);

            try
            {
                skynet.Connect(true, true, TimeSpan.FromSeconds(10));
            }
            catch (Exception ex)
            {
                log.Error("Failed to connect", ex);
            }
            var commands = typeof(Program).Assembly.GetTypes().Where(x => typeof(IHostCommand).IsAssignableFrom(x));

            while (true)
            {
                Console.WriteLine();
                Console.Write("Skynet|>");
                var message = Console.ReadLine();
                Console.WriteLine();
                var cmdLine = message.Split(';');
                foreach (var command in cmdLine)
                {
                    try
                    {
                        var result = Parser.Default.ParseArguments(command.Split(' '), commands.ToArray());


                        result.WithParsed(x => (x as IHostCommand).Execute(skynet));
                    }
                    catch (Exception ex)
                    {
                        log.Fatal("Failed to execute command", ex);
                    }
                }
            }
        }
Пример #9
0
        public void Execute()
        {
            try
            {
                var assembly   = Assembly.LoadFrom(File);
                var moduleType = typeof(Models.T800);
                var module     = assembly.GetTypes().SingleOrDefault(x => moduleType.IsAssignableFrom(x));
                var terminator = (Activator.CreateInstance(module) as Models.T800);
                var tcpClient  = new TcpClient(ServerLocation, ServerPort);
                var skynet     = new SkynetClient("Client", tcpClient, terminator);
                skynet.Connect(true, false, TimeSpan.FromSeconds(60));
                terminator.PowerUp("nqkuv film");
                new ManualResetEvent(false).WaitOne(1000);
            }
            catch (Exception ex)
            {
                log.Error("Failed to start process", ex);

                Environment.Exit(0);
            }

            Environment.Exit(1);
        }
Пример #10
0
        public void Execute()
        {
            var client = new TcpClient(Address, Port);
            var skynet = new SkynetClient("Skynet Command Line Interface", client);

            try
            {
                skynet.Connect(true, true, TimeSpan.FromSeconds(10));
            }
            catch (Exception ex)
            {
                log.Error("Failed to connect", ex);
            }
            var commands = typeof(Program).Assembly.GetTypes().Where(x => typeof(IHostCommand).IsAssignableFrom(x));

            while (true)
            {
                Console.WriteLine();
                Console.Write("Skynet|>");
                var message = Console.ReadLine();
                Console.WriteLine();
                var cmdLine = message.Split(';');
                foreach (var command in cmdLine)
                {
                    try
                    {
                        var result = Parser.Default.ParseArguments(command.Split(' '), commands.ToArray());

                        result.WithParsed(x => (x as IHostCommand).Execute(skynet));
                    }
                    catch (Exception ex)
                    {
                        log.Fatal("Failed to execute command", ex);
                    }
                }
            }
        }
Пример #11
0
 public void Execute(SkynetClient client)
 {
     client.Send(new Core.Contracts.Packages.RegisterPackage(PackageLocation, PackageName));
 }
Пример #12
0
 public void Execute(SkynetClient client)
 {
     client.Send(new Core.Contracts.Processes.Run(PackageName, ProcessName));
 }
Пример #13
0
 public void Execute(SkynetClient client)
 {
     client.Send(new Core.Contracts.Packages.RegisterPackage(PackageLocation, PackageName));
 }
Пример #14
0
 public void Execute(SkynetClient client)
 {
     client.Disconnect();
     Environment.Exit(0);
 }
Пример #15
0
 public void Execute(SkynetClient client)
 {
     Console.Clear();
 }
Пример #16
0
 public void Execute(SkynetClient client)
 {
     client.Send(new Core.Contracts.Processes.RedirectOutput(Client));
 }
Пример #17
0
 public void Execute(SkynetClient client)
 {
     Console.Clear();
 }
Пример #18
0
 public void Execute(SkynetClient client)
 {
     client.Disconnect();
     Environment.Exit(0);
 }
Пример #19
0
 public void Execute(SkynetClient client)
 {
     client.Send(new Shutdown(ProcessName));
 }
Пример #20
0
 public void Execute(SkynetClient client)
 {
     client.Send(new Core.Contracts.Processes.RedirectOutput(Client));
 }
Пример #21
0
 public void Execute(SkynetClient client)
 {
     client.Send(new Core.Contracts.Processes.Run(PackageName, ProcessName));
 }