Что такое шаблоны / типы очередей задач?Может ли многоуровневая очередь задач существовать в форме N-дерева? - PullRequest
1 голос
/ 14 октября 2010

Я до сих пор не обнаружил общепринятый шаблон для следующей ситуации:

В базе данных существует трехуровневая серия задач.

  1. Основная задача: собрать данные для пользователя X; данные отчета;
  2. Подзадача: убедиться, что все данные выбраны и верны; сообщить об успехе или ошибках
  3. Минимальное задание: получить часть данных из сети, сопоставить ее с каким-либо шаблоном (описанным обоими уровнями выше); сообщить об ошибках ввода-вывода или совпадения шаблонов.

В настоящее время я уверен, что у меня есть только объект-компаратор, который проверяет минимальное состояние задачи, и две машины транзакций состояния, во-первых, чтобы проверить минимальное состояние задачи, а затем, чтобы реализовать продвижение состояния на всех трех уровнях.

Но я не хочу писать мозговой код, который пострадает только из-за методов доступа к состоянию задачи, распределенных между подобъектами / методами, поэтому отношения родитель-состояние-> ребенок-состояние-> действие-состояние кажутся плохая идея, в результате чего код вроде if ($ level1object-> subtasks-> subtasks-> subtasks_completed) {...}.

Шаблонный код должен либо просто выглядеть чисто и иметь только getNextMiniTask .. getErrorStateForMainTask методы, либо использовать какую-то другую архитектуру для наблюдения за задачами.

Ищите хороший образец такой очереди на работу, так как не хотите изобретать велосипед с квадратным колесом. аннотация, Java, хранимые процедуры SQL / Hibernate, приветствие PHP.

P.S. Предложение этого может привести к некоторой форме n-мерного дерева, где возможные решения принимают подуровни или заставляют всю ветку останавливать и выдавать ошибку. Тем не менее, все еще ищем пример кода.

1 Ответ

1 голос
/ 20 февраля 2011

Может быть шаблон пула потоков поможет

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