Бывают случаи когда зависают процессы синхронизации и происходит блокировка дальнейшей синхронизации.
Как это определить?
Вы начнете замечать что данные товаров не совпадают с Мой Склад цена, остатки, картинки.
Для начала вам нужно зайти в настройки плагина вкладка журнал и посмотреть какие там есть записи.
Если вы видите что запись
'Уже идет синхронизация остатков'
'Уже идет синхронизация товаров'
Повторяются подряд — это говорит что процессы зависли и нужно заново стартануть.
Чтобы снова стартануть синхрон нужно в настройках плагин в верхней части нажать поочередно кнопки остановить и сбросить.
После обновить страницу и снова провести синхронизацию.
Либо можно поставить код в functions.php вашей темы.
<?php
/**
* Товары
*/
add_action('wms_assortment_daily', function (){
msw_restart_sync_happen_hover('assortment');
}, 0 );
/**
* Остатки
*/
add_action('wms_hourly_event_stock', function (){
msw_restart_sync_happen_hover('stock');
}, 0 );
/**
* Картинки
*/
add_action('wms_assortment_end_sync', function (){
msw_restart_sync_happen_hover('image', true);
}, 0 );
/**
*
* @param string $sType
* @param false $bStart Если поставить true то синхрон продолжиться иначе заново начнеться
* @param int $time Время простоя которое считать сто процесс завис
*/
function msw_restart_sync_happen_hover($sType = 'assortment', $bStart = false, $time = 3600)
{
if ($sStartTime = WmsWalkerFactory::get_walker($sType)->get_start_walker()) {
if ((time() - $sStartTime) > $time){
if($bStart) {
do_action('wms_walker_hook_' . $sType, $sType);
}else{
WmsWalkerFactory::get_walker($sType)->delete_walker();
}
}
}
}
