Git Product home page Git Product logo

crystalquartz's People

Contributors

bryant1410 avatar duaneedwards avatar gitter-badger avatar guryanovev avatar jholt456 avatar jinweijie avatar serbrech avatar ubikuity avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

crystalquartz's Issues

Quartz.NET 3.0 & async/await support

Hello,

I'd like to use CrystalQuartz within a project that relies on async/await functionality, however, it has come to my attention that Quartz.NET will only support this functionality starting on version 3.0.

Currently, there is already a beta available (https://github.com/quartznet/quartznet/releases/tag/v3.0.0-beta1) and even though it's not a final version I'd like to see a alpha/beta version of CrystalQuartz support for this.

Has the CrystalQuartz team started to develop something that could support this version of Quartz? In any case (yes or no) are there any plan currently to introduce this support and when that could be available even as a first draft?

I could be able to lend a hand at it (maybe a PR) but the truth is that I don't know the CrystalQuartz architecture nor how long it would take me to be able to do such PR.

This UI might be a make or break feature for the current project otherwise we would have to rely on some sort of console application instead of the UI.

Best Regards
Celso Santos

PS: Oh, also, merry Christmas :)

No "Next Fire Date" shown for triggers (CrystalQuartz.Owin 6.2.1-beta)

I am working on upgrading a CrystalQuartz app to latest Quartz 3.x (for async support) using the beta CrystalQuartz.Owin 6.2.1-beta nuget release. Upgrade was pretty painless and mostly everything seems to work, except in the CrystalQuartz UI no "Next Fire Date" is shown for triggers ("Start Date" and "Last Fire Date" both showing).

Does CrystalQuartz support .net 4.6.1 ?

Hi,

Does CrystalQuartz support .net 4.6.1 ?
I saw the examples are all in 4.5.2 and when I switch the program type to 4.6.1, it did not work.

Regards,
Chenhao Gao

ASP MVC or Core, how to create a new job

Hello, I can see the dashboard monitor, but how can we create a new job of a task?

For e.g. I registered a list of runnable tasks in a static class and and want to be able to create a schedule around it

change the "Return to main page" url

is there any way to change the url of the "Return to main page" link? if not, it would be great if you could add an attribute to config to set that value.

Thanks!

Unusable page when having 3K jobs

Hello,

the page simply won't load on my browser having 3K jobs in store.

I guess it is just rendering everything at once instead of using lazy-loading on the page.

Security

Hi. I use crystal quartz fo .net core.How i can protect "/quartz" route by admin password for example? For the usual api routes i use jwt token

CrystalQuartz not working when running as windows service

I have added crystal quartz in my quartz scheduler project to show the dashboard (check link). below code works fine when I am running the application as a console app. but it does not work when we deploy it as windows service on the same machine. it's not even throwing any exception nor any log in event logger.

IScheduler scheduler = SetupScheduler();
Action startup = app =>
{
app.UseCrystalQuartz(scheduler);
};

            Console.WriteLine("Starting self-hosted server...");
            using (WebApp.Start("http://localhost:9000/", startup))
            {
                Console.WriteLine("Server is started");
                Console.WriteLine();
                Console.WriteLine("Check http://localhost:9000/quartz to see jobs information");
                Console.WriteLine();

                Console.WriteLine("Starting scheduler...");
                scheduler.Start();

                Console.WriteLine("Scheduler is started");
                Console.WriteLine();
                Console.WriteLine("Press [ENTER] to close");     
                Console.ReadLine();     
            }

            Console.WriteLine("Shutting down...");
            scheduler.Shutdown(waitForJobsToComplete: true);
            Console.WriteLine("Scheduler has been stopped");

when we deploy the application as windows service I am getting below error while opening the link in the browser "This site can’t be reached". but its working fine when we run it as a console.

Could not initialize scheduler   The connection is not established, computer rejected the connection request 127.0.0.1:555

CrystalQuartz.Remote

Web.config

<configuration>
  <configSections>
    <sectionGroup name="crystalQuartz" type="CrystalQuartz.Web.Configuration.CrystalQuartzConfigurationGroup">
      <section name="provider" type="CrystalQuartz.Web.Configuration.ProviderSectionHandler" requirePermission="false" allowDefinition="Everywhere" />
    </sectionGroup>
  </configSections>
  <system.web>
    <compilation debug="true" targetFramework="4.5.2" />
    <httpRuntime targetFramework="4.5.2" />
    <pages>
      <namespaces>
        <add namespace="System.Web.Optimization" />
      </namespaces>
      <controls>
        <add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt" />
      </controls>
    </pages>
    <httpModules>
      <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" />
    </httpModules>
    <httpHandlers>
      <add verb="*" path="CrystalQuartzPanel.axd" type="CrystalQuartz.Web.PagesHandler, CrystalQuartz.Web" validate="false" />
    </httpHandlers>
  </system.web>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
        <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="WebGrease" culture="neutral" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
    </compilers>
  </system.codedom>
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <modules>
      <remove name="ApplicationInsightsWebTracking" />
      <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" preCondition="managedHandler" />
    </modules>

    <handlers>
      <add name="CrystalQuartzPanel" verb="*" path="CrystalQuartzPanel.axd" type="CrystalQuartz.Web.PagesHandler, CrystalQuartz.Web" />
    </handlers>
  </system.webServer>
  <crystalQuartz>
    <provider>
      <add property="Type" value="CrystalQuartz.Core.SchedulerProviders.RemoteSchedulerProvider, CrystalQuartz.Core" />
      
      <add property="SchedulerHost" value="tcp://localhost:555/QuartzScheduler" />
    
    </provider>
  </crystalQuartz>
  <appSettings />
  <connectionStrings />
</configuration>

App.config for Quartz project

<configuration>
  <configSections>
    <section name="quartz" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    <section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration" />

    <sectionGroup name="common">
      <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
    </sectionGroup>

  </configSections>
  <unity configSource="Unity.config" />

  <quartz>
    <add key="quartz.plugin.triggHistory.type" value="Quartz.Plugin.History.LoggingJobHistoryPlugin" />
    <add key="quartz.plugin.jobInitializer.type" value="Quartz.Plugin.Xml.XMLSchedulingDataProcessorPlugin" />
    <add key="quartz.plugin.jobInitializer.fileNames" value="....._jobs.xml" />
    <add key="quartz.plugin.jobInitializer.failOnFileNotFound" value="true" />
    <add key="quartz.plugin.jobInitializer.scanInterval" value="120" />

    <add key="quartz.threadPool.type" value="Quartz.Simpl.SimpleThreadPool, Quartz" />
    <add key="quartz.threadPool.threadCount" value="10" />
    <add key="quartz.threadPool.threadPriority" value="Normal" />
    
    <add key="quartz.scheduler.exporter.type" value="Quartz.Simpl.RemotingSchedulerExporter, Quartz" />
    <add key="quartz.scheduler.exporter.port" value="555" />
    <add key="quartz.scheduler.exporter.bindName" value="QuartzScheduler" />
    <add key="quartz.scheduler.exporter.channelType" value="tcp" />
  </quartz>

  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
  </startup>
</configuration>

"Execute Now" should ask for JobDataMap values

Hi, thank you for this very useful project. I would love to have a feature on Execute Now: the possibility to specify JobDataMap values when the job defines them.
This feature probably would be useful also on Add Trigger.
Thanks

Responsive Problem

crystalquartz

i have some responsive problems with latest version.

my resolution is 1366 X 768.

Error communicating with remote scheduler.

I used it to connect on quartz.net V 3.0.4 in .net core but actually i faced issue while i try to connect using proxy it gave "Error communicating with remote scheduler."
the configration it is as below

key="quartz.scheduler.exporter.type" value="Quartz.Simpl.RemotingSchedulerExporter, Quartz" key="quartz.scheduler.exporter.port" value="555" key="quartz.scheduler.exporter.bindName" value="QuartzScheduler" key="quartz.scheduler.exporter.channelType" value="tcp" key="quartz.scheduler.exporter.channelName" value="httpQuartz" key="quartz.scheduler.instanceName" value="RemoteServerSchedulerClient" key="quartz.threadPool.type" value="Quartz.Simpl.SimpleThreadPool, Quartz" key="quartz.threadPool.threadCount" value="5" key="quartz.threadPool.threadPriority" value="Normal" key="quartz.scheduler.proxy" value="true" key="quartz.scheduler.proxy.address" value="tcp://127.0.0.1:555/QuartzScheduler" key="quartz.jobStore.type" value="Quartz.Impl.AdoJobStore.JobStoreTX, Quartz" key="quartz.jobStore.dataSource" value="myDS" key="quartz.jobStore.driverDelegateType" value="Quartz.Impl.AdoJobStore.SqlServerDelegate, Quartz" key="quartz.jobStore.lockHandler.type" value="Quartz.Impl.AdoJobStore.UpdateLockRowSemaphore, Quartz" key="quartz.jobStore.tablePrefix" value="QRTZ_" key="quartz.jobStore.clustered" value="false" key="quartz.dataSource.myDS.connectionString" value="Server=.;Database=QuartzDB;Persist Security Info=True;User ID=sa;Password=123;" key="quartz.dataSource.myDS.provider" value="SqlServer" key="quartz.jobStore.useProperties" value="true" key="quartz.serializer.type" value="json"

i think still it is not supported for .net core :(

Styling Cystal Quartz Control Panel

I'd like to style the control panel page to brand it to fit in better with our project. I know I could download the source and update main.css and then recompile. However I'd like to be able to continue using the nuGet package so don't want to do this. Is there a supported way to style the control panel?

Method 'TriggerFired' in type 'CrystalQuartz.Core.Quartz2.Quartz2SchedulerEventSource' from assembly 'CrystalQuartz.AspNetCore,

Unable to load one or more of the requested types.
Method 'TriggerFired' in type 'CrystalQuartz.Core.Quartz2.Quartz2SchedulerEventSource' from assembly 'CrystalQuartz.AspNetCore, Version=6.8.1.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.

public static Type[] GetAllTypes(this AppDomain @this, bool fromCache = true)
    {
        if (fromCache && (typeCache == null || !typeCache.Any()) || !fromCache)
        {
            typeCache = @this.GetExcutingAssemblies()
                .SelectMany(x =>
                {
                    try
                    {
                        return x.DefinedTypes.Select(t => t.AsType()); // Throw System.Reflection.ReflectionTypeLoadException
					}
                    catch (ReflectionTypeLoadException ex)
                    {
                        return ex.Types.Where(t => t != null);
                    }
                }).ToArray();
        }

        return typeCache;
}

dotnet core: "One or more errors occurred. (Error communicating with remote scheduler)"

Hi Gury,
I have a problem with your demo project about dotnet core
I had remap the connection to quartz, so without using the CreateScheduler method but attaching to the CqSamples.Quartz3.SystemWeb.RemoteScheduler project because I need to try to simulate the connection to a windows service

When I test it, I catch the exception "One or more errors occurred. (Error communicating with remote scheduler"
Can you help me, please

Thanks in advance

Remote scheduler already exists

Hi,

I am trying to use a MVC application with Crystal Quartz embedded to monitor a remote scheduler (Windows service). When I navigate to the Panel, the system tells me that the Scheduler already exists. Is navigating to the panel attempting to instantiate the scheduler server?

Any help would be appreciated.

Couldn't obtain triggers for job: The time zone ID '' was not found on the local computer

One or more errors occurred. (Couldn't obtain triggers for job: The time zone ID 'China Standard Time' was not found on the local computer.)
Couldn't obtain triggers for job: The time zone ID 'China Standard Time' was not found on the local computer.
The time zone ID 'China Standard Time' was not found on the local computer.
Could not find file '/usr/share/zoneinfo/China Standard Time'.

Interval incorrectly labeled

As part of a demo application, I have two jobs, each running once per second, and set up one second apart. The CrystalQuartz panel lists their intervals as being "2 minutes" instead of "2 seconds". That's the only issue I've seen so far. I'm using it in a remote scenario, talking to a scheduler running in a separate windows service on the same machine.

Build Issue

I am getting an error when i run Build.bat
in step Transform intex.html template.

But i am able to successfully build and run the application.
Please let me know will this issue create any problem

[Transform intex.html template]
INFO Start external tool with command line:
C:\KVK\CrystalQuartz\src\packages\Mono.TextTransform.1.0.0\tools\TextTr
ansform.exe C:\KVK\CrystalQuartz\src\CrystalQuartz.Application\Content
index.tt
[Compile TypescriptFiles]
INFO Start external tool with command line:
tsc CrystalQuartz.Application\Client\Scripts\Application.ts -out Crysta
lQuartz.Application\Content\Scripts\application.js
[Generate common assembly info]
INFO Completed
[Compile TypescriptFiles]
ERROR The system cannot find the file specified
[Transform intex.html template]
INFO Completed

Press Enter to exit
ǃ숀뛛葐1䆰/

DateTime Format

Is there a way to change how times are displayed so that they show up in the server's local timezone instead of UTC?

CrystalQuartz-timeline missing files

Files are missing from the CrystalQuartz-timeline download, resulting in errors during build. Doesn't look like the dist folder was included, which based on your .gitignore, this may be intended:

CrystalQuartz.Application/Content/application.css
CrystalQuartz.Application/Content/application.js
CrystalQuartz.Application/Content/index.html
CrystalQuartz.Application/Content/loading.gif

Is there something I can do to fix this, or do I need to wait for you to add them?

Allow editing of triggers

It would be really useful to have the ability to change frequencies and times for particular jobs.
In our environment the jobs don't change often, but the scheduled times do need to be changed on a regular basis.

How to add multi job

I saw the demo 09_Quartz3_AspNetCore_Web just run one job .Now I want to run multi job. How to add .
I copy the job code .But it's not work. BTW. How to see the job log. If the job have some console worlds.

`
private static IScheduler CreateScheduler()
{
var schedulerFactory = new StdSchedulerFactory();
var scheduler = schedulerFactory.GetScheduler().Result;

        var job = JobBuilder.Create<PrintMessageJob>()
            .WithIdentity("localJob1", "default")
            .Build();

        var trigger = TriggerBuilder.Create()
            .WithIdentity("trigger1", "default")
            .ForJob(job)
            .StartNow()
            .WithCronSchedule("0 /1 * ? * *")
            .Build();
        scheduler.ScheduleJob(job, trigger);

        var job2 = JobBuilder.Create<PrintMessageJob>()
            .WithIdentity("localJob2", "default")
            .Build();

        var trigger2 = TriggerBuilder.Create()
            .WithIdentity("trigger2", "default")
            .ForJob(job)
            .StartNow()
            .WithCronSchedule("0 /1 * ? * *")
            .Build();

        scheduler.ScheduleJob(job2, trigger2);

        scheduler.Start();

        return scheduler;
    }

`

Does not work with Quratz 2.3.1

I upgrated Quartz to 2.3.1 and CrystalQuartz does not work now. Error:
Could not initialize scheduler
Error communicating with remote scheduler.
Requested Service not found

Error reading resource 'CrystalQuartz.Web.Content.Scripts.application.js'

Severity Code Description Project File Line Suppression State
Error Error reading resource'CrystalQuartz.Web.Content.Scripts.application.js'-- 'Could not find file 'D:\TestProjects\CrystalQuartz\src\CrystalQuartz.Web\Content\Scriptsapplication.js'.' CrystalQuartz.Web D:\TestProjects\CrystalQuartz\src\CrystalQuartz.Web\CSC

Avoid dependency on scheduler jobs assemblies

Url: /CrystalQuartzPanel.axd?page=job&job=[JOB_REDACTED]&group=DEFAULT

Could not load file or assembly '[ASSEMBLY_REDACTED]' or one of its dependencies. The system cannot find the file specified.

screen shot 2015-02-19 at 11 17 28

We run CrystalQuartz as a separate lightweight console that connects to the Quartz.net scheduler via remoting. When trying to access the job details page - the request fails since there are no binaries deployed with the console project - it is completely separated from the project.

how to add multiple SchedulerHost in webconfig

 <add property="Type" value="CrystalQuartz.Core.SchedulerProviders.RemoteSchedulerProvider, CrystalQuartz.Core" />
<add property="SchedulerHost" value="tcp://localhost:555/TradePlatformInterfaceScheduler" />
 <add property="SchedulerHost" value="tcp://localhost2:555/TradePlatformInterfaceScheduler" />

The WebUI only see localhost:555/TradePlatformInterfaceScheduler ,but can not see
localhost2:555/TradePlatformInterfaceScheduler. so how i do set the property?

Scheduler pausing

"Simple Scheduler" pausing if panel closed. To resume necessary to reload the site in browser and start again. How to make it working all the time.

CrystalQuartzPanel.axd produces 404.

Hi,

I have an existing app using CrystalQuartz.Owin 4.0.0 that works fine. When I upgrade it to 6.x, I get a 404 error, when I click the CrystalQuartzPanel.axd link. I added a script map that points to type="CrystalQuartz.Web.PagesHandler, CrystalQuartz.Web". That did not work. I created a file script map that points to CrystalQuartz.Owin.dll and that does not work either. If I roll back to 4.0, everything works.

Thanks,

David

Server Restart Detected

For some reason we keep getting "Server Restart Detected" over and over again when the service does not actually restart. Does anyone know why this is happening? I am connected remotely.

It looks like my SIM number changes on each request.

CrystalQuartz.Owin does not depends to Microsoft.Owin.Host.SystemWeb

ITNOA

Hi,

I think, it is good idea to depends CrystalQuartz.Owin depends to Microsoft.Owin.Host.SystemWeb, because when I install CrystalQuartz.Owin package, Microsoft.Owin.Host.SystemWeb package does not install and Startup does not call, so your instruction does not work.

thx

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.