cancel
Showing results for 
Search instead for 
Did you mean: 

Настройка cron-задач

SOLVED

Настройка cron-задач

Добрый день, первый раз устанавливаю Magento на сайт и столкнулся с определенными сложностями: не удается правильно настроить cron-задачи.

Я уже перепробовал кучу вариантов и

* * * * * <path-to-binary> -c <ini-file-path> <your Magento install dir>/bin/magento cron:run [> <log-file>&]

и

* * * * * /usr/bin/wget -t 1 -O < URL страницы >

и еще кучу, но не буду их перечислять.

Проблема в том, что:

1. В файлах с логами крона находится хелп по использованию, скрин

2. В админке отображается "One or more indexers are invalid. Make sure your Magento cron job is running."

3. Я запустил так же тестовый скрипт

<?php 
  $fd = fopen("<путь к файлу>/my_cron.txt","a"); 
  fwrite($fd, "Обращение к файлу - ".date("d.m.Y H:i")."\r\n"); 
  fclose($fd); 
?>

и он работает в отличии от скриптов Magento, при этом файл с логом оставляет пустым

 

 Не могли бы вы мне помочь? Уже второй день голову ломаю.

9 REPLIES

Re: Настройка cron-задач

Еще один момент - magento я поставил на хостинг, а не на выделенный веб-сервер и cron-задачи я добавляю через веб-интерфейс. Переписка с саппортом:

 

Расписание через SSH-доступ Вы не сможете создать. Просто Вы смотрите рекомендации для сервера, а сервера у Вас нет. Поэтому они и не подходят. Вы не сможете создать пользователя.
логин хостинг аккаунта и есть пользователь и задачи можно только через, разделе панели добавлять

А что же тогда делать, в чем ошибка? Или с этой цмс просто невозможно работать без выделенного сервера?

Поискать решения\советы по настройке крона на разнообразных специализированных форумах данной cms. Как минимум сайт открывается.
Конечно что все возможные дополнительные компоненты можно только на впс\выделенном сервере.

 

Есть ли какие-то советы? Или мне лучше даже не пытаться поднять Magento на хостинге?

Re: Настройка cron-задач

В данный момент разбираемся с такой же проблемой у одного клиента на выделенном сервере. Когда разберёмся, отпишусь.


ET Web Solutions
extensions, custom work, support

Re: Настройка cron-задач

У Вас Magento какая?

Если не старше 1.9 поставьте вот этот планировщик задач

с коннекта

https://www.magentocommerce.com/magento-connect/aoe-scheduler.html

или гита

https://github.com/AOEpeople/Aoe_Scheduler

Он сам Вам скажет какую команду прописать в крон на хостинге

 

>>Или мне лучше даже не пытаться поднять Magento на хостинге?

И на хостинге все отлично может работать. Все зависит от размера каталога и количества посетителей.

Re: Настройка cron-задач

Речь о Magento2


ET Web Solutions
extensions, custom work, support

Re: Настройка cron-задач

Magento 2

Re: Настройка cron-задач

В нашем случае оказалось, что проблема была в комбинации настроек сервера и настроек крона в админке.

По умолчанию крон процесс, отвечающий за реиндекс запускается в отдельном процессе. 

Это настраивается в 

Stores -> Configuration -> ADVANCED -> System -> Cron (Scheduled Tasks) - all the times are in minutes -> Cron configuration options for group: index -> Use Separate Process

 

Для решения хватило выставить это значение в No.

 

А проблема с запуском в отдельном процессе в том, что на сервере было несколько разных PHP.

* php1 - /pathtophp/php

* php2 - /otherpath/php

 

 

Сайт работал на php2, а php1 был по умолчанию. 

В случае, когда крон запускает скрип magento под правильным phpи есть указание запуститься в отдельном процессе, то он из кода (vendor\magento\module-cron\Observer\ProcessCronQueueObserver.php) запускает второй процесс уже под php по умолчанию.

 

Так что, если вас не устраивает реиндекс в том же процессе, то можете или изменить код в файле, прописав путь до вашего php или настроить сервер так, чтобы php по умолчанию был нужным.

 

 


ET Web Solutions
extensions, custom work, support

Re: Настройка cron-задач

У меня тоже по умолчанию стоит, если не ошибаюсь, php 5.2 а сайт на php 5.5.

Но проблема в том, что это хостинг а не выделенный сервер. Поэтому я скорее всего не смогу ни настройки cron-а поменять, ни поменять дефолтную php.

Иного пути никакого нету?

Re: Настройка cron-задач

Как я писал выше, у вас 2 решения:

1. изменить один параметр в настройках Magento2

2. изменить код одного файла в ядре Magento2

 

Вам должно хватить первого варианта.


ET Web Solutions
extensions, custom work, support

Re: Настройка cron-задач

Спасибо большое, сначала неправильно вас понял