2015-08-27 39 views
5

Tôi có một số công việc Quartz.Net đó đang chạy trên một ScheduleQuartz.Net Kích hoạt theo lịch trình công việc On Demand

scheduler.ScheduleJob(
new JobDetailImpl("MarkAsSolutionReminderJob", typeof(MarkAsSolutionReminderJob)), 
new CalendarIntervalTriggerImpl("MarkAsSolutionReminderJobTrigger", IntervalUnit.Hour, 6)); 

Có thể cho tôi để tự kích hoạt việc này để chạy khi tôi muốn nó?

Vì vậy, nó tiếp tục chạy như bình thường, nhưng trong một đoạn mã cụ thể, tôi có thể chỉ cần chạy nó ra khỏi lịch trình một lần hoặc hai lần. Nhưng nó không ảnh hưởng đến công việc theo lịch trình?

Trả lời

6

Tôi có thể kích hoạt công việc này theo cách thủ công để chạy khi tôi muốn không?

Có, bạn có thể kích hoạt công việc này khi cần và khi cần.

Sử dụng void TriggerJob(JobKey jobKey) phương pháp này như sau:

scheduler.TriggerJob(new Jobkey("MarkAsSolutionReminderJob")); 

Nếu bạn muốn vượt qua một số dữ liệu cho công việc trong khi thực hiện nó theo yêu cầu, bạn cũng có thể làm điều đó bằng cách chỉ sử dụng một quá tải void TriggerJob(JobKey jobKey, JobDataMap data); của cùng một phương pháp như sau:

Dictionary<string, string> data = new Dictionary<string, string>(); 
//populate dictionary as per your needs 
JobDataMap jobData = new JobDataMap(data); 
scheduler.TriggerJob(new Jobkey("MarkAsSolutionReminderJob"),jobData); 
+0

Cảm ơn. Vui lòng xem câu hỏi được cập nhật, tôi đã thử mã này nhưng nó không hoạt động. – leen3o

+0

@ leen3o bạn đã tiếp tục công việc trước đó trong cơ sở dữ liệu chưa? –

+0

điều này làm việc tuyệt vời. Đã xảy ra lỗi trong tác vụ trước điểm gỡ lỗi của tôi! Cảm ơn – leen3o

Các vấn đề liên quan