Поддержка Проблемы и решения Подскажите по крону

  • Здравствуйте.
    Тему создал, но она не добавилась или ее снесли или она на модерации, но ее не видно в личном кабинете.
    Еще раз создам

    Сделал плагин для сайта сравнения цен на различную электронику.

    xml с товарами беру с партнерских сетей.

    Для магазинов сделан произвольный тип записей mags, где заносится информация о магазине в том числе и записывается в произвольное поле ссылка на xml фид.

    download.php файл плагина при обращении к которому идет скачивание xml к себе на сервер. Чтобы скачать, в списке магазинов есть кнопка «скачать» со ссылкой

    http://site.ru/wp-content/plugins/gde-slon-parser/download.php?mags=120052

    120052 это id записи, по нему из произвольного поля извлекается ссылка на xml файл.

    Таких магазинов у меня добавлено сейчас 30 штук, соответственно и ссылок 30 штук

    http://site.ru/wp-content/plugins/gde-slon-parser/download.php?mags=120052
    http://site.ru/wp-content/plugins/gde-slon-parser/download.php?mags=4546

    я в админке их без проблем могу скачивать по очереди просто кликая по ссылкам.

    Теперь вопрос, как мне их с помощью крона запускать по очереди.

    пока сделал так

Просмотр 1 ответа (всего 1)
  •  add_action( 'engineCronHook', 'engineDaysToGoCountdown' );
    if( !wp_next_scheduled( 'engineCronHook' ) ) {
    
    wp_schedule_event( time(), 'daily', 'engineCronHook' );
    }
    
     
    
    function engineDaysToGoCountdown(){
    
    $recenta = new WP_Query( "post_type=mags&showposts=-1" );
    while ( $recenta->have_posts() ):
    $recenta->the_post();
    
    file_get_contents('http://site.ru/wp-content/plugins/gde-slon-parser/download.php?mags='.$post->ID);
    
    endwhile;
    wp_reset_query();
    
    }

    получается сразу все 30 магазинов выводятся

    Вчера добавил эту функцию, сегодня посмотрел, они все обновились одновременно(в download.php после выполнения скрипта в произвольное записывается инфа о дате обновления ).

    Но и это еще не все, скачка файлов это ерунда и не особо затратное дело для сервера, есть еще скрипт obrabotka-cron.php, который берет скаченный xml и извлекает из него нужную инфу

    те же самые 30 ссылок, которые я также могу поочередно обновлять кликая по ссылкам из админки
    http://site.ru/wp-content/plugins/gde-slon-parser/obrabotka-cron.php?mags=120056.

    Как мне их запускать последовательно?

    Пока для теста на крон поставил только загрузку файлов, думаю, что если таким же макаром сделаю обработку xml, то сервер сдохнет от параллельной обработки всех 30 файлов.

Просмотр 1 ответа (всего 1)
  • Тема «Подскажите по крону» закрыта для новых ответов.