11#pgpro_scheduler - расширение PostgreSQL для управления расписанием задач
22
33pgpro_scheduler это планировщик задач для СУБД PostgreSQL, который позволяет
4- планировать выполнение задач в базе иконтроллировать их исполнение.
4+ планировать выполнение задач в базе иконтролировать их исполнение.
55
66Задачи это наборы SQL команд. Расписание выполнения задач задается либо строкой
77cron, либо указанием конкретных дат запуска, либо JSON объектом, в котором
@@ -16,7 +16,7 @@ cron, либо указанием конкретных дат запуска, л
1616
1717##Installation
1818
19- pgpro_scheduler это расширение PostgreSQL и нетербует никаких специальных
19+ pgpro_scheduler это расширение PostgreSQL и нетребует никаких специальных
2020пререквизитов.
2121
2222Перед сборкой расширения из исходного кода убедитесь, что переменная
@@ -94,8 +94,8 @@ PostgreSQL, которые описаны в предыдущем разделе
9494schedule.max_workers = 5
9595
9696Планировщик задач работает с помощью Background Worker'ов. Поэтому должно быть
97- правильноустановленно значение переменной` max_worker_processes ` . Минимальное
98- значение переменной может бытьрасчитано по следующей формуле:
97+ правильноустановлено значение переменной` max_worker_processes ` . Минимальное
98+ значение переменной может бытьрасcчитано по следующей формуле:
9999
100100> ** N<sub >min</sub > = 1 + N<sub >databases</sub > + MAX_WORKERS<sub >1</sub > + ... + MAX_WORKERS<sub >n</sub >**
101101
@@ -107,7 +107,7 @@ PostgreSQL, которые описаны в предыдущем разделе
107107* ** N<sub >databases</sub >** - это количество баз данных, для которых
108108запускается планировщик.
109109* ** MAX_WORKERS<sub >n</sub >** - это значение переменной` schedule.max_workers `
110- в контексте каждой базы данных, для которойзапусткается планировщик.
110+ в контексте каждой базы данных, для которойзапускается планировщик.
111111
112112##SQL Схема
113113
@@ -280,7 +280,7 @@ JSONB объект может содержать следующие ключи,
280280
281281* ** name** - имя задачи;
282282* ** node** - имя узла, на котором будет выполняться задача;
283- * ** comments** -коментарии к задаче;
283+ * ** comments** -комментарии к задаче;
284284* ** cron** - строка cron-like, для описания расписания выполнения;
285285* ** rule** - расписание в виде JSONB объекта (смотри далее);
286286* ** command** - SQL команда для выполнения;
@@ -304,14 +304,14 @@ JSONB объект может содержать следующие ключи,
304304задачи. Время задается в формате типа `interval`. Если время не определено,
305305то время исполнения не ограничено. По умолчанию время не определено;
306306* ** onrollback** - SQL команда, которая будет выполнена, если транзакция
307- завершится аварийно. По умолчаниюнеопределена ;
307+ завершится аварийно. По умолчаниюнеопределенна ;
308308* ** next\_ time\_ statement** - SQL команда, которая будет выполнена для
309309определения следующего времени запуска задачи.
310310
311311Правила для вычисления расписания выполнения задачи могут быть заданы в виде
312312строки cron (ключ` cron ` ), а так же в виде JSONВ объекта (ключ` rule ` ).
313313
314- Данный объект можетсожержать следующие поля:
314+ Данный объект можетсодержать следующие поля:
315315
316316* ** minutes** - минуты, целочисленный массив со значениями в диапазоне 0-59
317317* ** hours** - часы, целочисленный массив со значениями в диапазоне 0-23
@@ -325,17 +325,17 @@ JSONB объект может содержать следующие ключи,
325325Так же расписание может быть задано на конкретную дату или на набор конкретных
326326дат. Для этого используйте ключи` date ` или` dates ` соответственно.
327327
328- Все вышеописанные методы задания расписания могут бытьскомбинированны между
328+ Все вышеописанные методы задания расписания могут бытьскомбинированы между
329329собой. Но использование хотя бы одного из них обязательно.
330330
331331Ключ` next_time_statement ` используется для того, что бы вычислить следующее
332332время выполнения задачи. Если он определен, то первое время выполнения задачи
333333будет рассчитано с помощью методов приведенных выше, а последующие запуски будут
334- поставленны в расписание в то время, которое вернет SQL команда, указанная
334+ поставлены в расписание в то время, которое вернет SQL команда, указанная
335335в данном ключе. Команда должна возвращать запись, в первом поле которого
336- должносожержаться значение следующего времени запуска типа `timestamp with time
336+ должносодержаться значение следующего времени запуска типа `timestamp with time
337337zone`. Если значение будет другого типа или выполнение данного SQL вызовет
338- ошибку, то задача будетпомеченна как сломанная, и дальнейшее ее выполнение
338+ ошибку, то задача будетпомечена как сломанная, и дальнейшее ее выполнение
339339будет запрещено.
340340
341341SQL для вычисления следующего времени запускается в случае удачного и не
@@ -347,7 +347,7 @@ SQL для вычисления следующего времени запуск
347347* ** success** - транзакция завершилась успешно
348348* ** failure** - транзакция завершилась с ошибкой
349349* ** running** - транзакция в процессе выполнения
350- * ** undefined** -неопределена
350+ * ** undefined** -неопределенна
351351
352352Последние два значения не должны появляться внутри выполнения
353353` next_time_statement ` . Если они появились там, то это скорее всего означает