Проблемы пакетного задания с функцией отслеживания изменений цен
В этой статье приведено решение распространенных проблем с пакетными заданиями отслеживания изменений цен в 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