public static bool Requeue(string jobId, string fromState) { if (_storage == null || _client == null) { throw new Exception("Init has not been called yet."); } else { return(_client.Requeue(jobId, fromState)); } }
public FlowToken Execute(EntityToken entityToken, ActionToken actionToken, FlowControllerServicesContainer flowControllerServicesContainer) { var token = (TaskEntityToken)entityToken; var client = new BackgroundJobClient(JobStorage.Current); client.Requeue(token.Id, ScheduledState.StateName); var treeRefresher = new SpecificTreeRefresher(flowControllerServicesContainer); treeRefresher.PostRefreshMesseges(new FolderEntityToken(TaskType.Scheduled)); return(null); }
static DashboardRoutes() { Routes = new RouteCollection(); Routes.AddRazorPage("/", x => new DashboardPage()); Routes.Add("/stats", new JsonStats()); #region Embedded static content Routes.Add("/js", new CombinedResourceDispatcher( "application/javascript", typeof(DashboardRoutes).Assembly, GetContentFolderNamespace("js"), Javascripts)); Routes.Add("/css", new CombinedResourceDispatcher( "text/css", typeof(DashboardRoutes).Assembly, GetContentFolderNamespace("css"), Stylesheets)); Routes.Add("/fonts/glyphicons-halflings-regular/eot", new EmbeddedResourceDispatcher( "application/vnd.ms-fontobject", typeof(DashboardRoutes).Assembly, GetContentResourceName("fonts", "glyphicons-halflings-regular.eot"))); Routes.Add("/fonts/glyphicons-halflings-regular/svg", new EmbeddedResourceDispatcher( "image/svg+xml", typeof(DashboardRoutes).Assembly, GetContentResourceName("fonts", "glyphicons-halflings-regular.svg"))); Routes.Add("/fonts/glyphicons-halflings-regular/ttf", new EmbeddedResourceDispatcher( "application/octet-stream", typeof(DashboardRoutes).Assembly, GetContentResourceName("fonts", "glyphicons-halflings-regular.ttf"))); Routes.Add("/fonts/glyphicons-halflings-regular/woff", new EmbeddedResourceDispatcher( "application/font-woff", typeof(DashboardRoutes).Assembly, GetContentResourceName("fonts", "glyphicons-halflings-regular.woff"))); #endregion #region Razor pages and commands Routes.AddRazorPage("/job/(?<JobId>.+)", x => new JobDetailsPage(x.Groups["JobId"].Value)); Routes.AddRazorPage("/queues", x => new QueuesPage()); Routes.AddRazorPage( "/queues/fetched/(?<Queue>.+)", x => new FetchedJobsPage(x.Groups["Queue"].Value)); Routes.AddRazorPage( "/queues/(?<Queue>.+)", x => new EnqueuedJobsPage(x.Groups["Queue"].Value)); Routes.AddClientBatchCommand("/enqueued/delete", (client, jobId) => client.Delete(jobId)); Routes.AddClientBatchCommand("/enqueued/requeue", (client, jobId) => client.Requeue(jobId)); Routes.AddRazorPage("/processing", x => new ProcessingJobsPage()); Routes.AddClientBatchCommand( "/processing/delete", (client, jobId) => client.Delete(jobId, ProcessingState.StateName)); Routes.AddClientBatchCommand( "/processing/requeue", (client, jobId) => client.Requeue(jobId, ProcessingState.StateName)); Routes.AddRazorPage("/scheduled", x => new ScheduledJobsPage()); Routes.AddClientBatchCommand( "/scheduled/enqueue", (client, jobId) => client.Requeue(jobId, ScheduledState.StateName)); Routes.AddClientBatchCommand( "/scheduled/delete", (client, jobId) => client.Delete(jobId, ScheduledState.StateName)); Routes.AddRazorPage("/servers", x => new ServersPage()); Routes.AddRazorPage("/succeeded", x => new SucceededJobs()); Routes.AddClientBatchCommand( "/succeeded/requeue", (client, jobId) => client.Requeue(jobId, SucceededState.StateName)); Routes.AddRazorPage("/failed", x => new FailedJobsPage()); Routes.AddClientBatchCommand( "/failed/requeue", (client, jobId) => client.Requeue(jobId, FailedState.StateName)); Routes.AddClientBatchCommand( "/failed/delete", (client, jobId) => client.Delete(jobId, FailedState.StateName)); Routes.AddRazorPage("/deleted", x => new DeletedJobsPage()); Routes.AddClientBatchCommand( "/deleted/requeue", (client, jobId) => client.Requeue(jobId, DeletedState.StateName)); Routes.AddCommand( "/actions/requeue/(?<JobId>.+)", context => { var client = new BackgroundJobClient(context.JobStorage); return(client.Requeue(context.UriMatch.Groups["JobId"].Value)); }); Routes.AddCommand( "/actions/delete/(?<JobId>.+)", context => { var client = new BackgroundJobClient(context.JobStorage); return(client.Delete(context.UriMatch.Groups["JobId"].Value)); }); Routes.AddRazorPage("/recurring", x => new RecurringJobsPage()); Routes.AddRecurringBatchCommand( "/recurring/remove", (manager, jobId) => manager.RemoveIfExists(jobId)); Routes.AddRecurringBatchCommand( "/recurring/trigger", (manager, jobId) => manager.Trigger(jobId)); #endregion }
static DashboardRoutes() { Routes = new RouteCollection(); Routes.AddRazorPage("/", x => new HomePage()); Routes.Add("/stats", new JsonStats()); #region Embedded static content Routes.Add("/js", new CombinedResourceDispatcher( "application/javascript", typeof(DashboardRoutes).Assembly, GetContentFolderNamespace("js"), Javascripts)); Routes.Add("/css", new CombinedResourceDispatcher( "text/css", typeof(DashboardRoutes).Assembly, GetContentFolderNamespace("css"), Stylesheets)); Routes.Add("/fonts/glyphicons-halflings-regular/eot", new EmbeddedResourceDispatcher( "application/vnd.ms-fontobject", typeof(DashboardRoutes).Assembly, GetContentResourceName("fonts", "glyphicons-halflings-regular.eot"))); Routes.Add("/fonts/glyphicons-halflings-regular/svg", new EmbeddedResourceDispatcher( "image/svg+xml", typeof(DashboardRoutes).Assembly, GetContentResourceName("fonts", "glyphicons-halflings-regular.svg"))); Routes.Add("/fonts/glyphicons-halflings-regular/ttf", new EmbeddedResourceDispatcher( "application/octet-stream", typeof(DashboardRoutes).Assembly, GetContentResourceName("fonts", "glyphicons-halflings-regular.ttf"))); Routes.Add("/fonts/glyphicons-halflings-regular/woff", new EmbeddedResourceDispatcher( "application/font-woff", typeof(DashboardRoutes).Assembly, GetContentResourceName("fonts", "glyphicons-halflings-regular.woff"))); #endregion #region Razor pages and commands Routes.AddRazorPage("/jobs/enqueued", x => new QueuesPage()); Routes.AddRazorPage( "/jobs/enqueued/fetched/(?<Queue>.+)", x => new FetchedJobsPage(x.Groups["Queue"].Value)); Routes.AddClientBatchCommand("/jobs/enqueued/delete", (client, jobId) => client.Delete(jobId)); Routes.AddClientBatchCommand("/jobs/enqueued/requeue", (client, jobId) => client.Requeue(jobId)); Routes.AddRazorPage( "/jobs/enqueued/(?<Queue>.+)", x => new EnqueuedJobsPage(x.Groups["Queue"].Value)); Routes.AddRazorPage("/jobs/processing", x => new ProcessingJobsPage()); Routes.AddClientBatchCommand( "/jobs/processing/delete", (client, jobId) => client.Delete(jobId, ProcessingState.StateName)); Routes.AddClientBatchCommand( "/jobs/processing/requeue", (client, jobId) => client.Requeue(jobId, ProcessingState.StateName)); Routes.AddRazorPage("/jobs/scheduled", x => new ScheduledJobsPage()); Routes.AddClientBatchCommand( "/jobs/scheduled/enqueue", (client, jobId) => client.Requeue(jobId, ScheduledState.StateName)); Routes.AddClientBatchCommand( "/jobs/scheduled/delete", (client, jobId) => client.Delete(jobId, ScheduledState.StateName)); Routes.AddRazorPage("/jobs/succeeded", x => new SucceededJobs()); Routes.AddClientBatchCommand( "/jobs/succeeded/requeue", (client, jobId) => client.Requeue(jobId, SucceededState.StateName)); Routes.AddRazorPage("/jobs/failed", x => new FailedJobsPage()); Routes.AddClientBatchCommand( "/jobs/failed/requeue", (client, jobId) => client.Requeue(jobId, FailedState.StateName)); Routes.AddClientBatchCommand( "/jobs/failed/delete", (client, jobId) => client.Delete(jobId, FailedState.StateName)); Routes.AddRazorPage("/jobs/deleted", x => new DeletedJobsPage()); Routes.AddClientBatchCommand( "/jobs/deleted/requeue", (client, jobId) => client.Requeue(jobId, DeletedState.StateName)); Routes.AddRazorPage("/jobs/awaiting", x => new AwaitingJobsPage()); Routes.AddClientBatchCommand("/jobs/awaiting/enqueue", (client, jobId) => client.ChangeState( jobId, new EnqueuedState(), AwaitingState.StateName)); Routes.AddClientBatchCommand("/jobs/awaiting/delete", (client, jobId) => client.ChangeState( jobId, new DeletedState(), AwaitingState.StateName)); Routes.AddCommand( "/jobs/actions/requeue/(?<JobId>.+)", context => { var client = new BackgroundJobClient(context.JobStorage); return client.Requeue(context.UriMatch.Groups["JobId"].Value); }); Routes.AddCommand( "/jobs/actions/delete/(?<JobId>.+)", context => { var client = new BackgroundJobClient(context.JobStorage); return client.Delete(context.UriMatch.Groups["JobId"].Value); }); Routes.AddRazorPage("/jobs/details/(?<JobId>.+)", x => new JobDetailsPage(x.Groups["JobId"].Value)); Routes.AddRazorPage("/recurring", x => new RecurringJobsPage()); Routes.AddRecurringBatchCommand( "/recurring/remove", (manager, jobId) => manager.RemoveIfExists(jobId)); Routes.AddRecurringBatchCommand( "/recurring/trigger", (manager, jobId) => manager.Trigger(jobId)); Routes.AddRazorPage("/servers", x => new ServersPage()); Routes.AddRazorPage("/retries", x => new RetriesPage()); #endregion }