Проблемы пакетного задания с функцией отслеживания изменений цен
В этой статье описывается решение распространенных проблем с пакетными заданиями отслеживания изменения цен в Microsoft Dynamics 365 Commerce.
Симптомы
Функция отслеживания изменений цен Microsoft Dynamics 365 Commerce активирует пакетные задания, выполняемые в фоновом режиме. Ниже приведены распространенные проблемы с пакетными заданиями.
- Пакетное задание отслеживания изменения цен занимает много времени.
- Слишком много пакетных заданий отслеживания изменения цен активируется и ожидается в очереди.
Разрешение
Чтобы устранить эти проблемы, выполните следующие действия.
Шаг 1. Прекращение создания дополнительных пакетных заданий
Чтобы остановить создание дополнительных пакетных заданий, выполните следующие действия.
- В коммерческой штаб-квартире перейдите в раздел Розничная и коммерческая>штаб-квартира настройка>Параметры>Параметры Общие параметры>Торговли Цены и скидки.
- В разделе Отслеживание изменений цен удалите из сетки все юридические лица и нажмите кнопку Сохранить.
- Перезапустите сервер объектов приложений (AOS).
Как правило, корпорация Майкрософт рекомендует указать группу пакетной службы для пакетных заданий отслеживания изменений цен , прежде чем включить функцию отслеживания изменений цен. Это действие ограничивает влияние пакетных заданий отслеживания изменения цен на экземпляры AOS, а не блокирует пул пакетных заданий по умолчанию.
Шаг 2. Остановка и очистка существующих пакетных заданий
Чтобы остановить и очистить существующие пакетные задания, выполните следующий скрипт SQL в базе данных коммерческой штаб-квартиры.
-- find the existing executing jobs
select count(*) from BATCH where CAPTION like '%Price change%' and status = 2 --executing
select count(*) from BATCHJOB where CAPTION like '%Price change%' and status = 2 --executing
-- update the job status (DO NOT update to 0-Hold status; when the batch service restarts, they will be picked up again.)
update BATCH set STATUS = 3 where CAPTION like '%Price change%' and STATUS = 2 --set to error
Update BATCHJOB set STATUS = 3 where CAPTION like '%Price change%' and STATUS = 2 --set to error
-- clear the jobs
delete from BATCH where CAPTION like '%Price change%' and status = 3 --error
delete from BATCHJOB where CAPTION like '%Price change%' and status = 3 --error