2009-09-19 41 views
6

Tôi hiện đang triển khai Quartz.net trong một ứng dụng đơn giản nên thực hiện một đoạn mã (ví dụ) 5 giây. Chỉ bây giờ mã đôi khi mất hơn 5 giây để hoàn thành.Công việc lặp lại Quartz.net tại khoảng thời gian sau khi hoàn thành công việc

Lúc đầu, tôi gặp sự cố khi mã được thực thi trong khi mã vẫn đang chạy, tôi đã khắc phục điều này bằng cách sử dụng giao diện IStateFulJob thay vì giao diện IJob.

Nhưng những gì tôi thực sự muốn thực hiện là, công việc của tôi được thực hiện 5 giây SAU KHI công việc được hoàn thành, không 5 giây sau khi công việc trước đó của tôi được bắt đầu.

I ofcourse có thể xử lý sự kiện được kích hoạt khi người nghe của tôi nghe thấy rằng công việc đã sẵn sàng và sắp xếp lại công việc, nhưng tôi đã tự hỏi nếu không có bất kỳ chức năng chuẩn nào cho việc này.

+1

'IStatefulJob' đã không được chấp nhận. Sử dụng thuộc tính 'DisallowConcurrentExecution' để không cho phép nhiều trường hợp công việc thực thi đồng thời. –

Trả lời

4

Hiện tại không có cách tiêu chuẩn để đạt được điều này khi Quartz.NET phát ý tưởng có thời gian lửa được xác định trước (được tính trước) và bỏ phiếu cho đúng thời điểm để kích hoạt công việc.

Cách bạn mô tả sẽ là con đường dễ dàng nhất. Hoặc là lịch trình từ công việc thực hiện tiếp theo hoặc từ người nghe.

+5

Điều này có thay đổi bất kỳ từ đó cho đến bây giờ không? Đây là câu trả lời cách đây bốn năm, hôm nay vẫn còn như cũ không? –

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