Skip to content

Commit 6fddedb

Browse files
committed
При получении заданий из очереди теперь отбираются не только задания в состоянии Ожидает, но и ОжидаетВыделенногоИсполнителя со временем жизни минута и больше.
wizi4d#11
1 parent ebf4f6c commit 6fddedb

File tree

1 file changed

+10
-1
lines changed
  • src/МенеджерЗаданий/CommonModules/мзЗадания/Ext

1 file changed

+10
-1
lines changed

src/МенеджерЗаданий/CommonModules/мзЗадания/Ext/Module.bsl

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,11 @@
344344
КонецФункции
345345

346346
Функция ПолучитьЗаданияИзОчереди(Знач КоличествоЗаданий)
347+
// Для заданий в состоянии "ОжидаетВыделенногоИсполнителя" делаем допущение, что
348+
// если за 60 секунд выделенный исполнитель не запустился и не взял задание в работу, то
349+
// он уже не запустится никогда (например, проблемы с rphost)
350+
// Обрабатываем такие задания в общем порядке очереди
351+
347352
ИнформацияПоОграничениямНаКоличествоИсполнителей = ПолучитьИнформациюПоОграничениямНаКоличествоИсполнителейМетодовОбработчиков();
348353

349354
Запрос = Новый Запрос;
@@ -356,12 +361,16 @@
356361
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.мзНастройкиМетодовОбработчиков КАК мзНастройкиМетодовОбработчиков
357362
| ПО мзЗадания.ИмяМетода = мзНастройкиМетодовОбработчиков.ИмяМетода
358363
|ГДЕ
359-
| мзЗадания.Состояние = ЗНАЧЕНИЕ(Перечисление.мзСостоянияЗаданий.Ожидает)
364+
| (мзЗадания.Состояние = ЗНАЧЕНИЕ(Перечисление.мзСостоянияЗаданий.Ожидает)
365+
| ИЛИ мзЗадания.Период < &ПериодМинутуНазад
366+
| И мзЗадания.Состояние = ЗНАЧЕНИЕ(Перечисление.мзСостоянияЗаданий.ОжидаетВыделенногоИсполнителя))
360367
|
361368
|УПОРЯДОЧИТЬ ПО
362369
| ЕСТЬNULL(мзНастройкиМетодовОбработчиков.Приоритет, 0) УБЫВ,
363370
| мзЗадания.КоличествоПопытокВыполения,
364371
| мзЗадания.Период";
372+
ОднаМинута = 60;
373+
Запрос.УстановитьПараметр("ПериодМинутуНазад", ТекущаяДата() - ОднаМинута);
365374
РезультатЗапроса = Запрос.Выполнить();
366375
Выборка = РезультатЗапроса.Выбрать();
367376
ВыбранныеЗадания = Новый Массив;

0 commit comments

Comments
 (0)