2014-09-18 16 views
8

Tôi đang phát triển một ứng dụng email marketing WinForm. Và để lên lịch các chiến dịch, tôi quyết định sử dụng Quartz.NET. Tôi cần nó để chạy như một dịch vụ Windows. nhưng tôi cũng muốn người dùng có thể thêm công việc (ví dụ: một chiến dịch cần chạy hàng ngày vào lúc 8 giờ sáng mà về cơ bản đang chạy tệp .bat) cho dịch vụ thông qua chương trình.Thêm và xóa công việc một cách tự động vào Dịch vụ Windows Quartz

Tôi cũng lưu tất cả lịch biểu công việc trong cơ sở dữ liệu để khi bạn dừng/khởi động HĐH hoặc Dịch vụ Windows, nó vẫn có thể đọc từ tất cả các công việc cần chạy.

Làm cách nào để thêm công việc vào dịch vụ trong khi dịch vụ đang chạy? Việc bổ sung/loại bỏ năng động của công việc vào dịch vụ là tất nhiên được nhiều người ưa thích. Dừng dịch vụ và đọc tất cả các công việc một lần nữa từ cơ sở dữ liệu là, để được thẳng thắn, khu nghỉ mát cuối cùng của tôi.

Trả lời

7

Bạn có thể cài đặt Quartz.Net làm dịch vụ cửa sổ và định cấu hình để sử dụng AdoJobStore.
Ứng dụng WinForm của bạn sẽ là giao diện mà bạn có thể thêm, tạm dừng và xóa công việc và trình kích hoạt.

Bạn không phải dừng windows services trong khi bạn đang thực hiện điều đó.

Bạn không cần đọc cơ sở dữ liệu để tìm hiểu điều gì đang xảy ra trong Quartz nhưng bạn phải sử dụng API được cung cấp.

Tôi đã làm điều gì đó tương tự thời gian dài trước đây; "quản lý" quartz.net của tôi là một ứng dụng web.

Bạn có thể đọc câu trả lời của tôi here.

Tôi đoán các bước để thực hiện những gì bạn đang tìm kiếm khá giống nhau.

Tham khảo mẫu Quartz.net và sách miễn phí có thể được tìm thấy herehere.

+2

cảm ơn! nó chỉ là thông qua các blog khác mà tôi nhận ra bạn có thể cài đặt Quartz.NET như một dịch vụ Windows. Tôi đoán đây là một cách tiếp cận điển hình khi bạn muốn lên lịch các công việc đang chạy bất kể ứng dụng chính của bạn là gì. Làm thế nào đến không có đề cập đến duy nhất của tùy chọn này trên trang web chính thức của Quartz.NET? – Disasterkid

+0

Tài liệu khá kém. Bạn có thể tìm thêm thông tin trên Blog của Jay Vilalta (xem câu trả lời cập nhật). – LeftyX

+1

Hãy chấp nhận câu trả lời (và upvote) nếu bạn hài lòng với câu trả lời. Đó là cách SO hoạt động. – LeftyX

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