mausch / quartznetwebconsole Goto Github PK
View Code? Open in Web Editor NEWEmbeddable Quartz.Net web console
License: Other
Embeddable Quartz.Net web console
License: Other
Create some listeners to log all activity, then create a page to show that information.
View ICalendars
Hi thanks for the great work.
Is there any option to extend it displaying local time instead of UTC?
Manage scheduler, trigger and job listeners
Create subclasses of LogEntry, or an enum (one for each event type) to discriminate event types. Then add filtering by event type to the log page.
Single-job page. Show listeners, triggers, all data, all actions.
I've added the webconsole to an MVC3 project, and unfortunately the default httpHandler and handler registration in the web.config does not seem to properly setup routing to the /quartz/index page. I even tried adding a routes.IgnoreRoute("quartz/{*pathInfo}");
line in the RegisterRoutes method which is called during Applciation_Start() however it did not work. It would be nice if QuartzNetWebConsole supported a *.axd extension as well to access the index page, as *.axd pages are ignored by the MVC3 routing engine by default.
For testing I'm running the Quartz.net scheduler as windows service under the same box, where my web-app (having embedded quartznet web console) is also hosted.
Problem description:
The windows service is started manually and runs fine with logging and adojobstore.
The web app has the following code to initialize the quartz.net web console to the quartz.net scheduler, and also runs fine without any exception:
NameValueCollection properties = new NameValueCollection();
properties["quartz.scheduler.instanceName"] = "SPDQuartzScheduler";
// set thread pool info
properties["quartz.threadPool.type"] = "Quartz.Simpl.SimpleThreadPool, Quartz";
properties["quartz.threadPool.threadCount"] = "10";
properties["quartz.threadPool.threadPriority"] = "Normal";
// set remoting expoter
properties["quartz.scheduler.proxy"] = "true";
properties["quartz.scheduler.proxy.address"] = "tcp://localhost:555/SPDQuartzScheduler";
// First we must get a reference to a scheduler
ISchedulerFactory sf = new StdSchedulerFactory(properties);
quartzScheduler = sf.GetScheduler();
//Assign webconsole to scheduler
QuartzNetWebConsole.Setup.Scheduler = () => quartzScheduler;
When we visit the ..\quartz\index.html page in the web app, the following exception is thrown:
Quartz.SchedulerException: Operation not supported for remote schedulers.
at Quartz.Impl.RemoteScheduler.get_ListenerManager()
at QuartzNetWebConsole.Utils.SchedulerWrapper.get_ListenerManager()
at QuartzNetWebConsole.Controllers.IndexController.Execute(HttpContextBase context, Func`1 getScheduler)
at QuartzNetWebConsole.ControllerFactory.<.ctor>b__6(HttpContextBase ctx)
at MiniMVC.HttpHandler.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Any plan to have a version for Quartz.NET 2+ ?
Is it possible to add a default route? If you add 'quartz/*' to the handler section, I would expect to be able to navigate to /quartz which currently throws an exception. If I navigate to /quartz/index that it works.
the views project is a VB project. why ? can't be c#?
Upgrade to Quartz.NET 2.x
What is the purpose of the "Trigger" button?
My understanding is that it will trigger the job immediately.
However it's throwing:
Quartz.SchedulerException: Job threw an unhandled exception. ---> Quartz.JobPersistenceException: Couldn't store job: Unable to store Job: 'epg.epg-export', because one already exists with this identification. ---> Quartz.ObjectAlreadyExistsException: Unable to store Job: 'epg.epg-export', because one already exists with this identification. at Quartz.Impl.AdoJobStore.JobStoreSupport.StoreJob(ConnectionAndTransactionHolder conn, IJobDetail newJob, Boolean replaceExisting) in c:\Program Files (x86)\Jenkins\workspace\Quartz.NET\src\Quartz\Impl\AdoJobStore\JobStoreSupport.cs:line 913
I think when you call StdScheduler.ScheduleJob()
, it will actually try store the JobDetail AGAIN. This is causing issue because it conflicts with existing DB primary key.
For each trigger/job show the next fire date/time. There's an abstract method somewhere, I don't remember.
Split out the System.Web stuff to a separate project, then create a new project that wraps things into OWIN
I created a new project with ASP.NET 5 RC, and I cannot add QuartzNetWebConsole.Owin
as Studio's complaining that it's not compatible with DNXCore
v5. Any recommendations for working around this?
I would like to see the MemoryLogger make the private readonly LimitedList entries protected so that you could at least inherit from that class and then could add new methods such as AddLog, RemoveLog, ClearLog or add these public methods to the MemoryLogger itself.
Show JobDataMap for jobs and triggers
Page to create/edit a job
Show a human-readable rendering of cron expressions.
See Quartz.CronExpression
I'm planning the use of quartzserver as a windows service with the QuartzNetWebConsole. But there is no IIS on the servers running the service.
Is it possible to use the console in a selfhosting manner too?
thanks
Add pagination to log page
Please, make LogEntry class as public, because now is impossible to create custom logger.
Error 'QuartzNetWebConsole.Views.LogEntry' is inaccessible due to its protection level
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.