Платформа 3V/Планировщик/Описание задач: различия между версиями

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
Строка 16: Строка 16:
 
== Настройки Url ==
 
== Настройки Url ==
 
Настройки Url для запуска задачи бывают трёх видов:
 
Настройки Url для запуска задачи бывают трёх видов:
#'''TaskUrlDto''' - любой тип запроса без параметров в теле запроса
+
*'''TaskUrlDto''' - любой тип запроса без параметров в теле запроса
#'''PostWithParamsTaskUrlDto''' - POST-запрос со строковым значением (JSON) параметров в теле запроса
+
пример:
#'''CalcWithParamsTaskUrlDto''' - POST-запрос на запуск методики с описанием параметров в виде параметров методики.
+
<syntaxhighlight lang="JSON">
 +
{
 +
"type": "Get",
 +
"url": "https://3v.3v-group.net/repository/api/MetaObjects/Copy?id=17403&parentId=17379",
 +
"headers": null,
 +
"discriminator": "TaskUrlDto"
 +
}
 +
</syntaxhighlight>
 +
*'''PostWithParamsTaskUrlDto''' - POST-запрос со строковым значением (JSON) параметров в теле запроса
 +
пример:
 +
<syntaxhighlight lang="JSON">
 +
{
 +
"runBodyParams": "[{\"dictionaryId\":0,\"sortingOptions\":null,\"displayValueOptions\":null,\"options\":{\"groupingOptions\":null,\"groupingMethod\":\"Default\",\"sortingOptions\":null,\"rootElement\":null,\"virtualElements\":null,\"displayValueOptions\":null,\"dictionaryId\":6310,\"filter\":null,\"selection\":null,\"hierarchyId\":null},\"attributeValues\":null,\"defaultValue\":null,\"value\":2,\"isMultiselect\":false,\"isEmptyValuePossible\":false,\"isDisableable\":false,\"isDisabled\":false,\"dataControlOptions\":null,\"id\":2,\"name\":null,\"discriminator\":\"DictionaryParameterDto\"}]",
 +
"type": "Post",
 +
"url": "http://front.develop.trv-services.bars.group/engine/api/Calculation/16332",
 +
"headers": [],
 +
"discriminator": "PostWithParamsTaskUrlDto"
 +
}
 +
</syntaxhighlight>
 +
*'''CalcWithParamsTaskUrlDto''' - POST-запрос на запуск методики с описанием параметров в виде параметров методики.
 +
пример:
 +
<syntaxhighlight lang="JSON">
 +
{
 +
"parameters": [
 +
{
 +
"options": {
 +
"dictionaryId": 6310,
 +
"filter": null,
 +
"hierarchyId": null,
 +
"limit": null
 +
},
 +
"value": 3,
 +
"isMultiselect": false,
 +
"id": 2,
 +
"discriminator": "DictionaryParameterDto"
 +
}
 +
],
 +
"type": "Post",
 +
"url": "http://front.develop.trv-services.bars.group/engine/api/Calculation/16332",
 +
"headers": [],
 +
"discriminator": "CalcWithParamsTaskUrlDto"
 +
}
 +
</syntaxhighlight>
  
 
Настройки Url для проверки состояния задачи аналогичны настройкам Url для запуска задачи.
 
Настройки Url для проверки состояния задачи аналогичны настройкам Url для запуска задачи.
 +
 +
Свойство '''type''' доступно только для TaskUrlDto, для CalcWithParamsTaskUrlDto и PostWithParamsTaskUrlDto оно игнорируется и считается равным '''Post'''
 +
{| class="wikitable"
 +
|-
 +
! Значение !! Описание
 +
|-
 +
| Get(0) || GET-запрос
 +
|-
 +
| Post(1) || POST-запрос
 +
|-
 +
| Put(2) || PUT-запрос
 +
|-
 +
| Delete(3) || DELETE-запрос
 +
|}
  
 
== Расписание ==
 
== Расписание ==

Версия 11:52, 12 октября 2020

Типы задач

Задачи бывают двух видов:

  1. ScheduledTaskDto - выполнение запроса к сервису
  2. CalcScheduledTaskDto - запуск методики (может быть описана в виде выполнения запроса к сервису)

Настройки Url

Настройки Url для запуска задачи бывают трёх видов:

  • TaskUrlDto - любой тип запроса без параметров в теле запроса

пример:

{
	"type": "Get",
	"url": "https://3v.3v-group.net/repository/api/MetaObjects/Copy?id=17403&parentId=17379",
	"headers": null,
	"discriminator": "TaskUrlDto"
}
  • PostWithParamsTaskUrlDto - POST-запрос со строковым значением (JSON) параметров в теле запроса

пример:

{
	"runBodyParams": "[{\"dictionaryId\":0,\"sortingOptions\":null,\"displayValueOptions\":null,\"options\":{\"groupingOptions\":null,\"groupingMethod\":\"Default\",\"sortingOptions\":null,\"rootElement\":null,\"virtualElements\":null,\"displayValueOptions\":null,\"dictionaryId\":6310,\"filter\":null,\"selection\":null,\"hierarchyId\":null},\"attributeValues\":null,\"defaultValue\":null,\"value\":2,\"isMultiselect\":false,\"isEmptyValuePossible\":false,\"isDisableable\":false,\"isDisabled\":false,\"dataControlOptions\":null,\"id\":2,\"name\":null,\"discriminator\":\"DictionaryParameterDto\"}]",
	"type": "Post",
	"url": "http://front.develop.trv-services.bars.group/engine/api/Calculation/16332",
	"headers": [],
	"discriminator": "PostWithParamsTaskUrlDto"
}
  • CalcWithParamsTaskUrlDto - POST-запрос на запуск методики с описанием параметров в виде параметров методики.

пример:

{
	"parameters": [
		{
			"options": {
				"dictionaryId": 6310,
				"filter": null,
				"hierarchyId": null,
				"limit": null
			},
			"value": 3,
			"isMultiselect": false,
			"id": 2,
			"discriminator": "DictionaryParameterDto"
		}
	],
	"type": "Post",
	"url": "http://front.develop.trv-services.bars.group/engine/api/Calculation/16332",
	"headers": [],
	"discriminator": "CalcWithParamsTaskUrlDto"
}

Настройки Url для проверки состояния задачи аналогичны настройкам Url для запуска задачи.

Свойство type доступно только для TaskUrlDto, для CalcWithParamsTaskUrlDto и PostWithParamsTaskUrlDto оно игнорируется и считается равным Post

Значение Описание
Get(0) GET-запрос
Post(1) POST-запрос
Put(2) PUT-запрос
Delete(3) DELETE-запрос

Расписание

Расписание бывает двух видов:

  • DaysScheduleDto - расписание по дням

пример:

"schedule": 
{
	"days": [
		"Monday",
		"Friday"
	],
	"period": {
		"discriminator": "InfiniteTimesDto"
	},
	"runTime": {
		"hours": 11,
		"minutes": 31
	},
	"discriminator": "DaysScheduleDto"
}
  • TimerScheduleDto - расписание по таймеру.

пример:

"schedule": 
{
	"timeSpan": "00:05:00",
	"period": {
		"discriminator": "InfiniteTimesDto"
	},
	"runTime": {
		"hours": 11,
		"minutes": 31
	},
	"discriminator": "TimerScheduleDto"
}

Расписание содержит в себе:

Период действия задачи

  • DatePeriodDto - период в диапазоне дат.

пример:

"period": 
{
	"startDate": "2020-10-12T00:00:00Z",
	"endDate": "2020-10-14T00:00:00Z",
	"discriminator": "DatePeriodDto"
}
  • InfiniteTimesDto - бесконечный период.

пример:

"period": 
{
	"discriminator": "InfiniteTimesDto"
}
  • ManyTimesDto - период, ограниченный количеством раз.

пример:

"period": 
{
	"times": 5,
	"discriminator": "ManyTimesDto"
}
  • OnceDto - Период, ограниченный единственным разом.

пример:

"period": 
{
	"discriminator": "OnceDto"
}