Как автоматически запускать SQL серверных заданий - PullRequest
0 голосов
/ 05 августа 2020

Проблема : В нашей компании есть SQL Сервер, который должен запускать кучу задач каждую ночь.

Пока все запланировано, скажем, Задача 1 начинается в 22:00, задача 2 - в 10:30 и т. д.

Но, к сожалению, не все задачи всегда выполняются в одно и то же время, поэтому иногда задачи перекрываются (что замедляет их выполнение и, следовательно, вызывает каскад перекрытий), или сервер какое-то время простаивает, потому что одна задача завершается раньше, а следующая запланирована на 20 минут позже.

Иногда задача застревает и ее нужно убить вручную. *

То, что мы ищем, - это программное обеспечение или решение, которое:

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

Поскольку я не уверен, что понимаю, я пытаюсь построить пример:

Допустим, у нас есть 5 групп задач (от A до E), каждая из которых включает 3 задачи (от 1 до 3).

Итак, мы хотим запустить задачу A1, затем A2, затем A3, затем B1 и так далее. Начиная с A1 в определенное c время каждую ночь, при этом задачи начинаются сразу после завершения предыдущей.

Мы также хотим указать для каждой задачи индивидуально максимальное время, в течение которого она может выполняться. (например, 20 минут для A1, 10 минут для A2 и т. д.), если этот максимум достигнут, задача должна быть убита.

ТАКЖЕ, если одна задача была убита, последние задачи В ОДНОЙ ГРУППЕ должны не исполняться. Но, конечно, должна начаться следующая группа.

Итак, если B2 превысил отведенное время и, следовательно, был убит, B3 не должен запускаться, и следующей задачей должно быть C1.

Я полагаю что мы не единственные, у кого есть эта проблема, поэтому я предполагаю, что существуют решения / программное обеспечение / код, который решает эту проблему?

Заранее любезно благодарю вас за вашу помощь.

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