Freunde,Stop Quarz Job auf dem lokalen Rechner
Ich habe einige Quarz-Jobs auf meiner Anwendung ausgeführt. Alles funktioniert einwandfrei. Ich möchte nur keine Jobs ausführen, wenn ich diese Anwendung auf meinem lokalen Computer verwende. Das bedeutet, dass Jobs nur auf dem Server ausgeführt werden sollten und nur dann auf dem lokalen Server ausgeführt werden sollten, wenn ich dies möchte.
Ich weiß, dass es eine Lösung geben kann, um eine boolesche Konstante hinzuzufügen, wenn das wahr ist, als laufen sonst Jobs nicht ausgeführt werden, aber wie und wo es zu tun?
Auch wenn es noch etwas anderes gibt?
public class JobScheduler
{
public static void Start()
{
IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler();
scheduler.Start();
IJobDetail offersRefreshJob = JobBuilder.Create<OffersRefreshJob>().Build();
ITrigger triggerForOffersRefreshJob = TriggerBuilder.Create().WithDailyTimeIntervalSchedule
(s =>
s.WithIntervalInMinutes(8)
.OnEveryDay()
.StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(0, 0))
)
.Build();
scheduler.ScheduleJob(offersRefreshJob, triggerForOffersRefreshJob);
}
}
Dies ist der Code der Datei Global.asax.cs. Ich habe eine boolesche RUN_JOBS-Variable verwendet und start() nur aufgerufen, wenn RUN_JOBS true ist, aber auf meinem lokalen Rechner werden immer noch Jobs ausgeführt. Es ist eine ASP.net MVC-Webanwendung.
public class MvcApplication : System.Web.HttpApplication
{
public bool RUN_JOBS = true;
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
if (RUN_JOBS)
{
JobScheduler.Start();
}
}
}
Sie führen es lokal für Debugging-Zwecke? Können Sie Ihren Code für den Scheduler posten? – Seany84
@ Seany84 Ich habe den Code meines Schedulers hinzugefügt, Ja, ich bin für Debugging-Zwecke ausgeführt, auch möchte ich nicht alle meine lokalen Daten aktualisieren, ich möchte Daten auf meine lokalen Daten aktualisieren, wenn ich brauche, nicht automatisch. Es gibt viele solche Jobs, ich habe nur einen Code gepostet. –
1. Wo nennst du deine 'Start()' aus und kannst du diesen Code auch posten? 2. Wird Quartz in einer Konsolenanwendung oder einem Windows-Dienst ausgeführt? – Seany84