1.
Дмитрий74Чел
23430.03.18 10:32 Сейчас в теме+0.5 $m
Добрый день.
Задача: для ERP 2.4 вынести выполнение закрытия месяца на отдельный сервер (и только его) через требования назначения функциональности.
Что имеем: 100% работает лишь настройка "BackgroundJob.CommonModule". Но это требование выгоняет на другой сервер абсолютно все фоновые.
Пробовал выставить "BackgroundJob.CommonModule.ЗакрытиеМесяца" и "BackgroundJob.CommonModule.ЗакрытиеМесяцаСервер", т.е. указал модули, но не методы - исходя их фразы на ИТС "Дополнительный параметр проверяется на совпадение с началом соответствующего параметра объекта требования." Не помогло.
Добавил условие на регламентные: "BackgroundJob.ScheduledJob.ЗакрытиеМесяца" и "BackgroundJob.ScheduledJob.ПроведениеПоРасчетамСПартнерами". Тоже нет эффекта.
Пройдя отладчиком по Обработка.ОперацииЗакрытияМесяца нашел
Отсюда предположение: фоновое стартует с общего модуля ОбщегоНазначения, и поэтому все мои указанные настройки не срабатывают, т.к. они работают только на момент старта фонового. Т.е. чтобы по моей настройке фоновое "пошло" на другой сервер оно должно стартовать с "CommonModule.ЗакрытиеМесяца" или "CommonModule.ЗакрытиеМесяцаСервер" - а такого не происходит.
Получается что можно прописать лишь "CommonModule.ОбщегоНазначения.ВыполнитьМетодКонфигурации" - но тогда это будет почти то же самое что и "BackgroundJob.CommonModule", т.е. почти все фоновые.
Кто имеет опыт настройки для отдельного фонового? Как прописывали?
Пробовал выставить "BackgroundJob.CommonModule.ЗакрытиеМесяца" и "BackgroundJob.CommonModule.ЗакрытиеМесяцаСервер", т.е. указал модули, но не методы - исходя их фразы на ИТС "Дополнительный параметр проверяется на совпадение с началом соответствующего параметра объекта требования." Не помогло.
Эта фраза всего лишь говорит о том, что доп.параметры должны соответствовать объекту требования. Определяется это соответствие по началу строки параметра.
А дальше там написано:
Дополнительный параметр может принимать одно из следующих значений:
...Для указания конкретного фонового задания, запущенного из встроенного языка: BackgroundJob.CommonModule.<Имя модуля>.<Имя метода>;
Логика тут такая - либо все фоновые задания, либо конкретное. Т.е. проверять "А не выполняю ли я задание стартуя из этого модуля?" программа не может.
Получается что можно прописать лишь "CommonModule.ОбщегоНазначения.ВыполнитьМетодКонфигурации" - но тогда это будет почти то же самое что и "BackgroundJob.CommonModule", т.е. почти все фоновые.
Почему тоже самое и все фоновые? Те и только те, которые начинаются с метода ОбщегоНазначения.ВыполнитьМетодКонфигурации.