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
Демонстрация работы: