2009-10-13 3 views
6

Я рассматриваю возможность использования рамки Quartz, чтобы запланировать запуск нескольких сотен заданий.Java - Создайте рабочий процесс в Quartz

Согласно их API, задания можно планировать в определенные моменты времени, но не запускать один за другим (и останавливать цепочку заданий, если они не работают). Только рекомендуемые методы, которые я смог найти в:

  • Использование слушателя, который замечает, завершение работы и планировать следующий триггер огонь (как согласовать это?)
  • Каждая работа получит параметр, содержащий следующее задание для запуска, и после завершения фактической работы планируйте его выполнение. (Кооператив)

Знаете ли вы, что лучший способ создать рабочий процесс в Quartz?

Можете ли вы порекомендовать другие методы/рамки для реализации рабочего процесса в Java?

EDITED: В то же время я узнал о OSWorkflow, который, как представляется, подходит для того, что мне нужно. Похоже, что мне нужно реализовать «Sequence Pattern».

ответ

1

Мне кажется, что вы хотите, чтобы Кварц заплатил , прежде всего,.

Вы рассматривали инкапсуляцию каждой задачи с помощью Command Pattern и связывания их вместе?

2

Когда документация Quartz говорит о «задании», это относится к классу, реализующему интерфейс «Job», который на самом деле является всего лишь классом с методом «execute», который принимает объект Quartz Context. При создании этой реализации вы действительно можете делать все, что хотите.

Вы можете создать реализацию Quartz Job Interface, которая просто вызывает все задания в вашем рабочем процессе последовательно и генерирует исключение JobExecutionException при сбое.

0

Я работал над проектом под названием Dynamic Task Scheduler, которые используют кварц для выполнения цепочки заданий реализует простой рабочий процесс в отказоустойчивой пути (определяемом в формате XML).

Взгляните на http://sourceforge.net/projects/dynatasksched/
Проектом является бетой, но я думаю, что это может дает вам некоторые идеи для начала ..

Надеется, что это полезно!

0

Для поддержки цепочки работы для кварца вы можете проверить проект QuartzDesk, в котором я был вовлечен. В версии 2.0. мы добавили мощный job chaining engine, который позволяет вам организовать ваши задания Quartz без необходимости изменять код приложения.

Двигатель заботится о том, чтобы распространить результат выполнения задания и другие параметры от исходного задания до целевого целевого задания.

QuartzDesk поставляется с графическим интерфейсом, который позволяет динамически обновлять рабочие цепочки, не нарушая работу приложения.

enter image description here

Смежные вопросы