Firebird-a7in-Scheduler

Firebird-a7in-Scheduler это простой (и бесплатный) планировщик, для выполнения заданных в таблице SQL-запросов. К сожалению в FireBird штатный планировщик отсутствует и пришлось написать свой. У этого планировщика отсутствует графический интерфейс и все параметры задаются в текстовом ini-файле, а сами задачи на исполнение заносятся в таблицу.

Установка планировщика заключается в распаковке файлов в рабочую папку и запуске install.bat, который зарегистрирует службу в системе и сразу запустит ее.

Вся настройка выполняется в файле FirebirdScheduler.ini, который содержит примерно такое:

[MAIN]
;Строка подключения к базе
Database=127.0.0.1:D:\BASE\MAIN.FDB
USERNAME=SYSDBA
PASSWORD=masterkey

;Имя таблицы в которой хранятся задачи для исполнения
TasksTableName=TASKS
;Таблица должна содержать следующие поля:
; ID_TASKS INTEGER
; TSK_STRING VARCHAR(250)
; TSK_ENABLED INTEGER
; TSK_TIME TIME
; TSK_NOTE VARCHAR(250)
; TSK_LASTTIME TIMESTAMP

;Интервал между проверками в миллисекундах
Interval=600000

Здесь описана одна секция MAIN, для одной БД. В случае когда нам нужно выполнять задания на нескольких БД мы добавляем столько секций сколько нужно, но давая им разные имена конечно же.

В самой БД должна быть таблица с именем заданным параметром TasksTableName и полями ID_TASKS, TSK_STRING, TSK_ENABLED, TSK_TIME, TSK_NOTE, TSK_LASTTIME, при этом поле TSK_STRING содержит SQL для исполнения, например «execute procedure SCHEDULER(1)», а TSK_TIME время исполнения. При этом если время было просрочено то выполнение произойдет при ближайшем срабатывании таймера. Также для исполнения TSK_ENABLED должно содержать 1.

Файл настроек считывается один раз при запуске службы.

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

Скачать эту замечательную программу можно по ссылке: a7in.com/files/FirebirdA7inScheduler.zip

Демонстрация работы:

Комментарии запрещены.