private Button CreateKillButton(WebJobHandler handler) { var killButton = Clone(KillWebJobButtonTemplate); killButton.Click += async(sender, args) => { try { killButton.Enabled = false; await Task.Run(() => handler.Kill()); killButton.BackColor = KillWebJobButtonTemplate.BackColor; } catch (Exception) { killButton.BackColor = Color.LightCoral; } finally { killButton.Enabled = true; } }; return(killButton); }
private Button CreateRunButton(Label statusLabel, WebJobHandler handler) { var runButton = Clone(StartButtonTemplate); runButton.Click += async(sender, args) => { try { runButton.Enabled = false; runButton.BackColor = StartButtonTemplate.BackColor; statusLabel.Text = "Running"; statusLabel.BackColor = Color.LightGreen; await Task.Run(() => handler.Run()); } catch (Exception) { runButton.BackColor = Color.LightCoral; } finally { statusLabel.Text = WebJobStatusTemplate.Text; statusLabel.BackColor = WebJobStatusTemplate.BackColor; runButton.Enabled = true; } }; return(runButton); }
private void SearchJobsButton_Click(object sender, EventArgs e) { var jobs = WebJobHandler.GetHandlers(_settings); var nonExistingJobs = jobs.Where(h1 => _handlers.All(h2 => h1.FullPath != h2.FullPath)); foreach (var handler in nonExistingJobs) { AddWebJob(handler); } }
public bool StartAndStopWebJob(string status) { var environmentKey = ConfigurationManager.AppSettings["Environment"]; string webJobUserName = GetEnvironmentValue("WebJobUsername"); string webJobPassWord = GetEnvironmentValue("WebJobPassWord"); string webJobName = GetEnvironmentValue("WebJobName"); string webJobUrl = GetEnvironmentValue("WebJobURL"); return(WebJobHandler.EnableandDisableWebJob(webJobUserName, webJobPassWord, webJobName, status, webJobUrl)); }
private void AddWebJob(WebJobHandler handler) { var statusLabel = Clone(WebJobStatusTemplate); var nameLabel = Clone(WebJobNameTempate); nameLabel.Text = handler.Name; var startButton = CreateRunButton(statusLabel, handler); var killButton = CreateKillButton(handler); var logButton = CreateWebJobLogButtton(handler.Name); _handlers.Add(handler); WebJobPanel.Controls.Add(startButton); WebJobPanel.Controls.Add(killButton); WebJobPanel.Controls.Add(logButton); WebJobPanel.Controls.Add(statusLabel); WebJobPanel.Controls.Add(nameLabel); }
public bool StopWebJob() { return(WebJobHandler.EnableandDisableWebJob(webJobUserName, webJobPassWord, webJobName, "stop", webJobUrl)); }