quartz.net इसका उपयोग कैसे शुरू करें?नए शौक के लिए Quartz.net
5
A
उत्तर
10
1
पर Quartz.Net के लिए ट्यूटोरियल के साथ शुरू आप फ़ोल्डर src \ Quartz.Examples में उदाहरणों पर गौर कर सकते हैं।
-1
आपको पहले कुछ बिंदुओं के बारे में सोचना होगा, अगर मेमोरी में क्वार्ट्ज का उपयोग करना या डेटाबेस में संग्रहीत करना चाहते हैं, तो यह एक सर्वर शुरू करेगा, आदि इसके बाद आपको अपनी अनुसूची प्रबंधित करने के लिए कक्षा बनाना होगा और एक और नौकरी जिसमें आप दौड़ना चाहते हैं, जो मैं कह रहा हूं वह एक साधारण उदाहरण है। मैं निम्नलिखित परिदृश्य में यह कैसे करना होगा: डेटा स्टोर करने के लिए स्क्लाइट, लॉग के साथ एक जॉब क्लास और लॉग के साथ बाकी सब कुछ। और हर दिन सुबह 10:30 बजे चलाया जाएगा।
अपने web.config
<add key="quartz.scheduler.instanceName" value="ServerScheduler" />
<add key="quartz.threadPool.type" value="Quartz.Simpl.SimpleThreadPool, Quartz" />
<add key="quartz.threadPool.threadCount" value="10" />
<add key="quartz.threadPool.threadPriority" value="2" />
<add key="quartz.jobStore.type" value="Quartz.Impl.AdoJobStore.JobStoreTX, Quartz" />
<add key="quartz.jobStore.dataSource" value="default" />
<add key="quartz.dataSource.default.connectionString" value="Data Source=yourdb.db;Version=3;Foreign Keys=ON;" />
<add key="quartz.jobStore.tablePrefix" value="QRTZ_" />
<add key="quartz.jobStore.clustered" value="false" />
<add key="quartz.jobStore.lockHandler.type" value="Quartz.Impl.AdoJobStore.UpdateLockRowSemaphore, Quartz" />
<add key="quartz.jobStore.driverDelegateType" value="Quartz.Impl.AdoJobStore.StdAdoDelegate, Quartz" />
<add key="quartz.dataSource.default.provider" value="SQLite-1094" />
<add key="quartz.jobStore.useProperties" value="true" />
<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" />
एक वर्ग Schedule.cs बुलाया बनाएँ:
public static class Schedule
{
private static readonly ILog logger = LogManager.GetLogger(typeof(Schedule));
public static ITrigger BuildTrigger(int hour, int minute)
{
var trigger = TriggerBuilder.Create()
.StartNow()
.WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(hour,minute))
.Build();
return trigger;
}
public static IScheduler InicializarScheduler()
{
var scheduleMigracao = Schedule.GetScheduler();
if (!scheduleMigracao.IsStarted)
scheduleMigracao.Start();
logger.Info("Scheduler started successfully");
return scheduleMigracao;
}
public static IJobDetail BuildJogDetail<T>(string WorkFlowId, string Group) where T : IJob
{
return JobBuilder.Create<T>()
.WithIdentity(WorkFlowId, Group)
.RequestRecovery()
.Build();
}
private static IScheduler GetScheduler()
{
try
{
IScheduler scheduler = SchedulerRepository.Instance.Lookup("DefaultQuartzScheduler");
if (scheduler == null)
{
var factoryScheduler = new StdSchedulerFactory();
return factoryScheduler.GetScheduler();
}
else
{
return scheduler;
}
}
catch (Exception ex)
{
logger.Error("Server initialization failed:" + ex.Message, ex);
throw;
}
}
}
एक कक्षा बनाएं बुलाया TestJob.cs
public class TestJob : IInterruptableJob
{
private static readonly ILog Log = LogManager.GetLogger(typeof(TestJob));
public void Interrupt()
{
}
public void Execute(IJobExecutionContext context)
{
try
{
Log.DebugFormat("{0}****{0}Job {1} Start @ {2} next scheduled for {3}{0}***{0}",
Environment.NewLine,
context.JobDetail.Key,
context.FireTimeUtc.Value.ToString("r"),
context.NextFireTimeUtc.Value.ToString("r"));
//implement your logic
Log.DebugFormat("{0}****{0}Job {1} executed with sucess at @ {2}",
Environment.NewLine,
context.JobDetail.Key,
context.FireTimeUtc.Value.ToString("r"));
}
catch (Exception ex)
{
Log.DebugFormat("{0}***{0}Failed: {1}{0}***{0}", Environment.NewLine, ex.Message);
}
}
}
अपने Global.asax जगह में :
public class Global : System.Web.HttpApplication
{
private static void BuildingQuartzMetadataSqLite1090()
{
var metaData = new DbMetadata();
metaData.AssemblyName = "System.Data.SQLite, Version = 1.0.94.0,Culture=neutral, PublicKeyToken=db937bc2d44ff139";
metaData.BindByName = true;
metaData.CommandBuilderType = typeof(System.Data.SQLite.SQLiteCommandBuilder);
metaData.CommandType = typeof(System.Data.SQLite.SQLiteCommand);
metaData.ConnectionType = typeof(System.Data.SQLite.SQLiteConnection);
metaData.ExceptionType = typeof(System.Data.SQLite.SQLiteException);
metaData.ParameterDbType = typeof(System.Data.SQLite.TypeAffinity);
metaData.ParameterDbTypePropertyName = "DbType";
metaData.ParameterNamePrefix = "@";
metaData.ParameterType = typeof(System.Data.SQLite.SQLiteParameter);
metaData.UseParameterNamePrefixInParameterCollection = true;
DbProvider.RegisterDbMetadata("SQLite-1094",metaData);
}
protected void Application_Start(object sender, EventArgs e)
{
BuildingQuartzMetadataSqLite1090();
Schedule.InicializarScheduler();
Schedule.ScheduleJob(Schedule.BuildJogDetail<TestJob>("TestJob","GrupoTest"), Schedule.BuildTrigger(10, 30));
}
}
कोई प्रश्न सिर्फ
से पूछेंसंबंधित मुद्दे
- 1. Quartz.net
- 2. Quartz.net
- 3. नए शौक और राज्य/एसटी से संबंधित प्रश्नों के लिए एसटीएआरए दस्तावेज
- 4. Quartz.NET 2.0
- 5. शौक खेल विकास का मूल्य
- 6. Quartz.NET - नौकरियों
- 7. शौक के रूप में पहली जरूरी परियोजनाएं
- 8. मैं ट्रंक को बेकार नए शौक से कैसे बचा सकता हूं?
- 9. Quartz.NET - नौकरियां नहीं चलती हैं?
- 10. Quartz.net रिपीट जॉब पूरा हो गया है
- 11. Quartz.NET कार्यान्वयन ट्यूटोरियल के साथ जाइव नहीं है
- 12. शौक भाषा विकसित करने के लिए एक अच्छा वीएम क्या है?
- 13. शौक ऑपरेटिंग सिस्टम बनाने के लिए सबसे सम्मानित भाषा और मुफ्त कंपाइलर?
- 14. नए फ्रेम के लिए Emacs हुक
- 15. नए ऑपरेटर के लिए अनिर्धारित संदर्भ
- 16. नए ओएस परिवार के लिए Azure परिनियोजन
- 17. गिटोलाइट: नए भंडार के लिए डिफ़ॉल्ट रिमोट
- 18. नए एएसपी.नेट वेब अनुप्रयोग के लिए आर्किटेक्चर
- 19. ग्राहक के लिए नए फ़ील्ड कैसे बनाएं
- 20. रेल: ActiveRecord में बनाने और नए तरीकों के बीच अंतर?
- 21. नए
- 22. नए
- 23. नए
- 24. "नए"
- 25. Quartz.Net क्रॉन ट्रिगर एक नौकरी शेड्यूल करने के लिए हर 45 मिनट
- 26. Quartz.Net एक दैनिक कार्यक्रम है कि प्रति दिन
- 27. वेबफॉर्म प्रोजेक्ट के नए हिस्सों के लिए एमवीसी का उपयोग
- 28. डेल्फी के नए आरटीटीआई के लिए प्रैक्टिकल उपयोग - विशेषताएं, मूल्य
- 29. सरणींड एरे के हैश में नए मान जोड़ने के लिए
- 30. मैं Quartz.net में किस समय से निपट रहा हूं?