Ejemplo n.º 1
0
        protected ProviderArguments GetProviderArguments(bool callBase = true, bool getJobName = false)
        {
            ProviderArguments    baseArgs          = callBase ? base.GetProviderArguments(): new JobProviderArguments();
            JobProviderArguments providerArguments = baseArgs.CopyAs <JobProviderArguments>();

            providerArguments.WorkerName = providerArguments.ProviderContextTarget;
            if (getJobName)
            {
                providerArguments.JobName           = GetTypeNameArgument("job", "Please enter the name of the job");
                providerArguments.ShowWorkerDetails = true;
            }

            return(providerArguments);
        }
Ejemplo n.º 2
0
 public override void Run(Action <string> output = null, Action <string> error = null)
 {
     try
     {
         JobProviderArguments providerArguments = GetProviderArguments(true, true) as JobProviderArguments;
         JobConf    jobConf = GetJobConf(providerArguments.JobName);
         WorkerConf worker  = jobConf.GetWorkerConf(providerArguments.WorkerName);
         WorkState  result  = worker.CreateWorker(null).Do();
         OutLine(result.ToYaml(), ConsoleColor.Yellow);
         Exit(0);
     }
     catch (Exception ex)
     {
         Message.PrintLine("error running worker: {0}", ConsoleColor.Magenta, ex.Message);
         Exit(1);
     }
 }
Ejemplo n.º 3
0
 public override void Remove(Action <string> output = null, Action <string> error = null)
 {
     try
     {
         JobProviderArguments providerArguments = GetProviderArguments(true, true) as JobProviderArguments;
         JobConf    jobConf = GetJobConf(providerArguments.JobName);
         WorkerConf worker  = jobConf.GetWorkerConf(providerArguments.WorkerName);
         if (worker == null)
         {
             Message.PrintLine("Specified worker {0} was not a part of the specified job {1}", providerArguments.WorkerName, providerArguments.JobName);
             Exit(1);
         }
         jobConf.RemoveWorker(providerArguments.WorkerName);
         Message.PrintLine("Removed worker {0}", ConsoleColor.Yellow, providerArguments.WorkerName);
         Exit(0);
     }
     catch (Exception ex)
     {
         Message.PrintLine("error removing worker: {0}", ConsoleColor.Magenta, ex.Message);
         Exit(1);
     }
 }
Ejemplo n.º 4
0
        public override void Add(Action <string> output = null, Action <string> error = null)
        {
            try
            {
                PrintMessage();
                JobProviderArguments providerArguments = GetProviderArguments(true, true) as JobProviderArguments;
                string workerName = providerArguments.WorkerName;
                string jobName    = providerArguments.JobName;

                JobConf  jobConf         = GetJobConf(jobName);
                string[] workerTypeNames = JobManagerService.GetWorkerTypes();
                int      workerType      = SelectFrom(workerTypeNames, "Please select a worker type");
                JobManagerService.AddWorker(jobName, workerTypeNames[workerType], workerName);

                Message.PrintLine("Added worker {0} to job {1}", ConsoleColor.Cyan, workerName, jobName);
                Exit(0);
            }
            catch (Exception ex)
            {
                Message.PrintLine("Error adding worker: {0}", ConsoleColor.Magenta, ex.Message);
                Exit(1);
            }
        }
Ejemplo n.º 5
0
        public override void Edit(Action <string> output = null, Action <string> error = null)
        {
            try
            {
                JobProviderArguments providerArguments = GetProviderArguments(true, true) as JobProviderArguments;
                JobConf    jobConf    = GetJobConf(providerArguments.JobName);
                WorkerConf workerConf = jobConf.GetWorkerConf(providerArguments.WorkerName, true);
                if (workerConf == null)
                {
                    Message.PrintLine("specified worker was not found: {0}", providerArguments.WorkerName);
                    Exit(1);
                }

                ProcessOutput processOutput = ShellSettings.Current.Editor.Start(workerConf.LoadedFrom);
                jobConf.Save();
                Exit(0);
            }
            catch (Exception ex)
            {
                Message.PrintLine("error editing worker: {0}", ConsoleColor.Magenta, ex.Message);
                Exit(1);
            }
        }
Ejemplo n.º 6
0
        public override void Show(Action <string> output = null, Action <string> error = null)
        {
            try
            {
                JobProviderArguments providerArguments = GetProviderArguments(false, true) as JobProviderArguments;
                JobConf jobConf = GetJobConf(providerArguments.JobName);
                if (!string.IsNullOrEmpty(providerArguments.WorkerName))
                {
                    WorkerConf workerConf = jobConf.GetWorkerConf(providerArguments.WorkerName);
                    if (workerConf == null)
                    {
                        Message.PrintLine("Specified worker {0} was not a part of the specified job {1}", providerArguments.WorkerName, providerArguments.JobName);
                        Exit(1);
                    }
                    string serialized = Serialize(workerConf);
                    Message.PrintLine("***\r\n{0}\r\n***", ConsoleColor.Blue, serialized);
                }
                else
                {
                    jobConf.ReloadWorkers();
                    StringBuilder stringBuilder = new StringBuilder();
                    foreach (string key in jobConf.WorkerConfs.Keys)
                    {
                        stringBuilder.AppendLine(key);
                        stringBuilder.AppendLine(Serialize(jobConf.WorkerConfs[key]));
                    }
                    Message.PrintLine("***\r\n{0}\r\n***", stringBuilder.ToString());
                }

                Exit(0);
            }
            catch (Exception ex)
            {
                Message.PrintLine("error showing worker: {0}", ConsoleColor.Magenta, ex.Message);
                Exit(1);
            }
        }