Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit24470cc

Browse files
author
Vladimir Ershov
committed
update readme
1 parent3feb783 commit24470cc

File tree

1 file changed

+43
-34
lines changed

1 file changed

+43
-34
lines changed

‎README.md

Lines changed: 43 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
#pgpro_scheduler - расширение PostgreSQL для управления расписанием задач
22

33
pgpro_scheduler это планировщик задач для СУБД PostgreSQL, который позволяет
4-
планироватьисполнение задач в базе и контроллировать их исполнение.
4+
планироватьвыполнение задач в базе и контроллировать их исполнение.
55

66
Задачи это наборы SQL команд. Расписание выполнения задач задается либо строкой
77
cron, либо указанием конкретных дат запуска, либо JSON объектом, в котором
88
указывается в какие дни часы и минуты задача должна быть запущена. Возможна
99
комбинация методов описания расписания.
1010

1111
Каждая задача имеет возможность для вычисления времени следующего своего
12-
запуска. Набор SQL команд в задаче может обрабатываться вразных транзакциях,
13-
по транзакции на команду, или в одной. В последнем случае имеется возможность
14-
задания SQLконманды, которая будет выполняться в случае аварийного завершения
15-
транзакции.
12+
запуска. Набор SQL команд в задаче может обрабатываться водной транзакции или
13+
же каждая команда может использовать свою индивидуальную транзакцию.
14+
Имеется возможностьзадания SQLкоманды, которая будет выполняться в случае
15+
аварийного завершениятранзакции.
1616

1717
##Installation
1818

@@ -36,10 +36,11 @@ pgpro_scheduler это расширение PostgreSQL и не тербует н
3636
Расширение определяет ряд переменных в PostgreSQL (GUC), которые позволяют
3737
управлять его конфигурацией.
3838

39-
***schedule.enable** - двоичная переменная, котораяпоределяет разрешено ли
39+
***schedule.enable** - двоичная переменная, котораяопределяет разрешено ли
4040
выполнение расширения. По умолчанию: false.
4141
***schedule.database** - строковая переменная, указывает с какими базам может
42-
работать расширение. По умолчанию - пустая строка.
42+
работать планировщик. Что бы указать несколько баз, нужно перечислить их
43+
имена через запятую. По умолчанию - пустая строка.
4344
***schedule.nodename** - строковая переменная, содержит название узла.
4445
По умолчанию - master. Если расширение используется на одной машине,
4546
то переменная не имеет смысла.
@@ -81,7 +82,7 @@ PostgreSQL, которые описаны в предыдущем разделе
8182
# SELECT pg_reload_conf();
8283

8384
Если вам не нужны указания различных значений для разных баз данных, то все это
84-
можно занести в конфигурационный файл PostgreSQL и перечитать конфигурацию.
85+
можно занести в конфигурационный файл PostgreSQL, и перечитать конфигурацию.
8586
Перезапуска не требуется.
8687

8788
Пример записей в`$DATADIR/postgresql.conf`, если количество одновременно
@@ -121,23 +122,26 @@ PostgreSQL, которые описаны в предыдущем разделе
121122
Планировщик определяет 2 SQL типа, которые он использует в качестве типов
122123
возвращаемых значений для своих функций.
123124

124-
**cron_rec** - используется для информации о записи задачи в таблице расписания.
125+
###cron_rec
126+
127+
Тип используется для информации о задаче в таблице расписания.
125128

126129
CREATE TYPE schedule.cron_rec AS(
127130
id integer, -- идентификатор задачи
128131
node text, -- имя узла, на котором она будет выполняться
129132
name text, -- имя задачи
130133
comments text, -- комментарий к задаче
131134
rule jsonb, -- правила построения расписания
132-
commands text[], -- sqlкомманды, которые будутвыполненны
135+
commands text[], -- sqlкоманды, которые будутвыполнены
133136
run_as text, -- имя пользователя, с которым будет выполняться
134137
-- задача
135138
owner text, -- имя пользователя, который создал задачу
136139
start_date timestamp, -- нижняя граница временного периода, во время
137-
-- которого допускается выполнение задачи
138-
-- границасчитаеися открытой если значение NULL
140+
-- которого допускается выполнение задачи,
141+
-- границасчитается открытой, если значение NULL
139142
end_date timestamp, -- верхняя граница временного периода, во время
140-
-- граница считаеися открытой если значение NULL
143+
-- которого допускается выполнение задачи,
144+
-- граница считается открытой, если значение NULL
141145
use_same_transaction boolean, -- если true, то набор команд будет
142146
-- выполняться в одной транзакции
143147
last_start_available interval, -- максимальное время, на которое может
@@ -149,7 +153,7 @@ PostgreSQL, которые описаны в предыдущем разделе
149153
max_run_time interval, -- максимальное время выполнения задачи
150154
onrollback text, -- SQL команда, которая будет выполнена в случае
151155
-- аварийного завершения транзакции
152-
next_time_statement text, -- SQL команда, которая будетвыполненна
156+
next_time_statement text, -- SQL команда, которая будетвыполнена
153157
-- после завершения основного набора SQL
154158
-- команд, которая возвращает следующее
155159
-- время выполнения задачи
@@ -159,22 +163,25 @@ PostgreSQL, которые описаны в предыдущем разделе
159163
-- которые не позволяют ее выполнять далее
160164
);
161165

162-
**cron_job** используется для информации о конкретном исполнении задачи.
166+
###cron_job
167+
168+
Тип используется для информации о конкретном исполнении задачи.
163169

164170
CREATE TYPE schedule.cron_job AS(
165171
cron integer, -- идентификатор задачи
166172
node text, -- имя узла, на котором она выполняться
167173
scheduled_at timestamp, -- запланированное время выполнения
168174
name text, -- имя задачи
169175
comments text, -- комментарий к задаче
170-
commands text[], -- sql комманды для выполнения
171-
run_as text, -- имя пользователя, из-под которого идет выполнение
176+
commands text[], -- sql команды для выполнения
177+
run_as text, -- имя пользователя, с правами которого будет
178+
-- выполнен набор команд
172179
owner text, -- имя пользователя, создавшего задачу
173180
use_same_transaction boolean,-- если true, то набор команд
174181
-- выполняется в одной транзакции
175182
started timestamp, -- время, когда задача была запущена
176183
last_start_available timestamp,-- время, до которого задача должна
177-
-- бытьзапцщена
184+
-- бытьзапущена
178185
finished timestamp, -- время, когда задача была завершена
179186
max_run_time interval, -- время, за которое задача должна выполнится,
180187
-- иначе она будет аварийно остановлена
@@ -209,7 +216,7 @@ PostgreSQL, которые описаны в предыдущем разделе
209216
Агрументы:
210217

211218
***cron** - crontab-like строка для задания расписания выполнения
212-
***sqls** - набор SQLкомманд для выполнения в виде массива строк
219+
***sqls** - набор SQLкоманд для выполнения в виде массива строк
213220
***node** - название узла, опционально
214221

215222
Возвращает идентификатор созданной задачи.
@@ -233,7 +240,7 @@ PostgreSQL, которые описаны в предыдущем разделе
233240
Агрументы:
234241

235242
***date** - время исполнения задачи
236-
***sqls** - набор SQLкомманд для выполнения в виде массива строк
243+
***sqls** - набор SQLкоманд для выполнения в виде массива строк
237244
***node** - название узла, опционально
238245

239246
Возвращает идентификатор созданной задачи.
@@ -244,7 +251,7 @@ PostgreSQL, которые описаны в предыдущем разделе
244251

245252
Агрументы:
246253

247-
***dates** - набор дат для выполнениякомманды в виде массива
254+
***dates** - набор дат для выполнениякоманды в виде массива
248255
***sql** - строка, SQL команда для выполнения
249256
***node** - название узла, опционально
250257

@@ -256,8 +263,8 @@ PostgreSQL, которые описаны в предыдущем разделе
256263

257264
Агрументы:
258265

259-
***dates** - набор дат для выполнениякомманды в виде массива
260-
***sqls** - набор SQLкомманд для выполнения в виде массива строк
266+
***dates** - набор дат для выполнениякоманды в виде массива
267+
***sqls** - набор SQLкоманд для выполнения в виде массива строк
261268
***node** - название узла, опционально
262269

263270
Возвращает идентификатор созданной задачи.
@@ -269,7 +276,7 @@ PostgreSQL, которые описаны в предыдущем разделе
269276
Единтвенный принимаемый параметр является объектом JSONB, который содержит
270277
информацию о создаваемой задаче.
271278

272-
JSONB объект можетсодержат следующие ключи, не все они являются обязательными:
279+
JSONB объект можетсодержать следующие ключи, не все они являются обязательными:
273280

274281
***name** - имя задачи;
275282
***node** - имя узла, на котором будет выполняться задача;
@@ -278,15 +285,15 @@ JSONB объект может содержат следующие ключи, н
278285
***rule** - расписание в виде JSONB объекта (смотри далее);
279286
***command** - SQL команда для выполнения;
280287
***commands** - набор SQL команд для выполнения в виде массива;
281-
***run\_as** - пользователь, с правами которого будетисполняться задача
288+
***run\_as** - пользователь, с правами которого будетвыполняться задача
282289
***start\_date** - начало временного периода, во время которого возможен
283290
запуск выполнения задачи, если не указано, то нижняя граница не определена;
284291
***end\_date** - окончание временного периода, во время которого возможен
285292
запуск выполнения задачи, если не указано, то верхняя граница не определена;
286293
***date** - конкретная дата запуска задачи;
287-
***dates** -надор дат запуска задачи;
294+
***dates** -набор дат запуска задачи;
288295
***use\_same\_transaction** - устанавливает будет ли набор команд выполняться
289-
в рамках одной транзакции. По умолчанию:true TODO ???
296+
в рамках одной транзакции. По умолчанию:false;
290297
***last\_start\_available** - на какое количество времени может быть отложено
291298
выполнение задачи, если в момент запуска по расписанию уже запущено
292299
максимально возможное количество задач. Время задается в формате
@@ -296,10 +303,10 @@ JSONB объект может содержат следующие ключи, н
296303
***max\_run\_time** - определяет максимально возможное время выполнения
297304
задачи. Время задается в формате типа `interval`. Если время не определено,
298305
то время исполнения не ограничено. По умолчанию время не определено;
299-
***onrollback** - SQL команда, которая будет выполнена если транзакция
306+
***onrollback** - SQL команда, которая будет выполнена, если транзакция
300307
завершится аварийно. По умолчанию неопределена;
301308
***next\_time\_statement** - SQL команда, которая будет выполнена для
302-
определения следующего временизаписи задачи.
309+
определения следующего временизапуска задачи.
303310

304311
Правила для вычисления расписания выполнения задачи могут быть заданы в виде
305312
строки cron (ключ`cron`), а так же в виде JSONВ объекта (ключ`rule`).
@@ -321,9 +328,9 @@ JSONB объект может содержат следующие ключи, н
321328
Все вышеописанные методы задания расписания могут быть скомбинированны между
322329
собой. Но использование хотя бы одного из них обязательно.
323330

324-
Ключ`next_time_statement` используется для того, что бы вычислитьслеюующее
331+
Ключ`next_time_statement` используется для того, что бы вычислитьследующее
325332
время выполнения задачи. Если он определен, то первое время выполнения задачи
326-
будет рассчитано с помощью методов приведенныхвыще, а последующие запуски будут
333+
будет рассчитано с помощью методов приведенныхвыше, а последующие запуски будут
327334
поставленны в расписание в то время, которое вернет SQL команда, указанная
328335
в данном ключе. Команда должна возвращать запись, в первом поле которого
329336
должно сожержаться значение следующего времени запуска типа `timestamp with time
@@ -348,7 +355,7 @@ SQL для вычисления следующего времени запуск
348355

349356
Сами SQL команды задаются либо ключом`command`, либо ключом`commands`.
350357
Первый это одна SQL команда, второй набор команд. На самом деле в ключ
351-
`command` можно передать несколько команд разделенных точкой с запятой. Тогда
358+
`command` можно передать несколько команд, разделенных точкой с запятой. Тогда
352359
они все исполнятся в одной транзакции. Предпочтительно для набора команд
353360
использовать ключ`commands`, так как в сочетании с ключом
354361
`use_same_transaction`, вы можете задавать исполнение команд в одной транзакции
@@ -376,7 +383,6 @@ SQL для вычисления следующего времени запуск
376383

377384
###schedule.set_job_attribute(job_id integer, name text, value text || anyarray)
378385

379-
The function allows to set exact property of existing job.
380386
Функция редактирует какое-то одно конкретное свойство существующей задачи.
381387

382388
Аргументы:
@@ -393,6 +399,9 @@ The function allows to set exact property of existing job.
393399
Функция возвращает двоичное значение, true, если изменение успешное, false -
394400
в случае неуспеха.
395401

402+
Пользователю, если он не суперпользователь, позволено менять свойства только
403+
тех задач, владельцем которых он является.
404+
396405
###schedule.deactivate_job(job_id integer)
397406

398407
Функция деактивирует задачу и приостанавливает ее последующее выполнение.
@@ -467,7 +476,7 @@ The function allows to set exact property of existing job.
467476
Просматривать задачи, исполняемые другими пользователями, может только
468477
суперпользователь.
469478

470-
Описание типа`cron_rec`смотрие в разделе**SQL типы**.
479+
Описание типа`cron_rec`смотрите в разделе**SQL типы**.
471480

472481
###schedule.get_user_active_jobs(username text)
473482

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp