Tôi có tình huống sau đây:thạch anh lên lịch tối đa số chủ đề sở hữu
8 nhiệm vụ theo lịch trình để chạy với org.quartz.threadPool.threadCount
bộ đến 5.
Nhưng trong thực tế tôi có thể thấy rằng tất cả 8 nhiệm vụ đang chạy.
Làm thế nào điều này có thể thực hiện được?
Nếu tôi đặt org.quartz.threadPool.threadCount=5
và tôi đã gửi 10 tác vụ cho thạch anh, đúng là chỉ có 5 tác vụ sẽ chạy song song?
Ý nghĩa của thuộc tính org.quartz.threadPool.threadCount
là gì?
Tôi có thiết kế như:
- Chúng tôi có một số nhiệm vụ mà làm một số công việc trên thực thể trong db
- Chúng tôi có JobRunner đặc biệt mà thực hiện một nhiệm vụ
- Chúng tôi quét cho các nhiệm vụ để chạy và lịch trình công việc cho chạy trong dịch vụ thạch anh được cấu hình với SchedulerFactoryBean với
org.quartz.threadPool.threadCount
thiết lập để 5. - Như tôi hiểu nếu dịch vụ thạch anh với SchedulerFactoryBean sẽ có 5 nhiệm vụ đang chạy và nếu chúng ta sẽ cố gắng lên lịch nhiệm vụ bổ sung thạch anh chính nó nên ném một n Ngoại lệ. Điều này có đúng không?
Cảm ơn.
Khi bạn nói rằng tất cả 8 công việc đang chạy, bạn có nghĩa là 'scheduler. getCurrentlyExecutingJobs() 'trả về một danh sách tám công việc? Hoặc tất cả chúng đang gửi đầu ra tới System.out? Hay cái gì? –
Tôi đã chỉnh sửa mô tả về câu chuyện. Vì vậy, nếu tôi lên lịch 8 nhiệm vụ cho Scheduler và thiết lập threadCount = 2, không có nghĩa là 2 luồng sẽ chạy 8 nhiệm vụ thời gian lặn và bối cảnh thay đổi? – user253202