Для корректной работы php-скрипта интернет-аукциона Molotok требуется отладить запуск определенных задач в соответствии с расписанием. Часть приложения предназначенная для работы с консольными командами располагается в папке /console, а сами команды в папке /console/commands. Ниже приведен список основных задач, которые должны запускаться по расписанию.
Важно! Если Вы испытываете трудности в настройке планировщика задач, обратитесь к Вашему хостинг-провайдеру и предоставьте пример содержания файла планировщика задач (в конце страницы), либо воспользуйтесь нашими услугами.
Класс содержит основные задачи обработки торгов по лотам со ставками и без:
Обработка лотов по которым имеются ставки и закончилось время проведения торгов. Необходимо присвоить соответствующий статус лотам, назначить победителей и сформировать e-mail уведомления. Рекомендуемая частота запуска - 1 раз в минуту.
php /var/www/demoMolotok/yiic.php lot processLotWithBids >/dev/null 2>&1
Обработка лотов по которым НЕТ ставок и закончилось время проведения торгов. Необходимо присвоить лотам статус завершившихся, либо перевыставить, если такой параметр активен. Дополнительно можно указать максимальный объём памяти, выделяемый на данную команду --memoryUsageLimit=1000. Рекомендуемая частота запуска - 1 раз в минуту.
php /var/www/demoMolotok/yiic.php lot processLotWithoutBids --memoryUsageLimit=1000 >/dev/null 2>&1
Проверяет и удаляет кеш для команд "processLotWithBids" и "processLotWithoutBids". Рекомендуемая частота запуска - 1 раз в 20 минут.
php /var/www/demoMolotok/yiic.php lot checkAndDeleteCommandsCache >/dev/null 2>&1
Формирование и рассылка e-mail писем поставленных ранее в очередь (таблица message_queue). Дополнительно можно передать параметр равный количеству отсылаемых писем за один запуск --process=n, где n максимальное количество отправляемых писем (по умолчанию - 30). Рекомендуемая частота запуска - 1 раз в минуту.
php /var/www/demoMolotok/yiic.php mailing processEmailQueue --process=30 >/dev/null 2>&1
Пересчет количества лотов в категориях. Необходимо для верного отображения количества лотов в основном меню сайта. Рекомендуемая частота запуска - каждые 4 часа.
php /var/www/demoMolotok/yiic.php yiic.php RecalcAuctionCount >/dev/null 2>&1
Класс для обработки задач связанных с ПРО-аккаунтом.
Рассылает пользователям e-mail уведомления о скором завершении ПРО-аккаунта (если был ранее активирован). Рекомендуемая частота запуска - 1 раз в день.
php /var/www/demoMolotok/yiic.php yiic.php servicePro reminderExpiryPro >/dev/null 2>&1
Устанавливает статус неактивного ПРО-аккаунта пользователям у которых истек срок действия подписки. Рекомендуемая частота запуска - 4 раза в день.
php /var/www/demoMolotok/yiic.php yiic.php servicePro complete >/dev/null 2>&1
Блокирует пользователей чей рейтинг ниже определенного значения (порог настраивается в админ части). Рекомендуемая частота запуска - 1 раза в час.
php /var/www/demoMolotok/yiic.php yiic.php ban >/dev/null 2>&1
Устанавливает флаг активности пользователя online/offline в таблице users. Рекомендуемая частота запуска - 1 раза в 10 минут.
php /var/www/demoMolotok/yiic.php yiic.php user authStatus >/dev/null 2>&1
Ниже приведено примерное содержание файла планировщика задач.
#! /bin/sh * * * * * root php /var/www/clients/client1/web1/web/yiic.php lot processLotWithoutBids 2>&1 * * * * * root php /var/www/clients/client1/web1/web/yiic.php lot processLotWithBids 2>&1 */20 * * * * root php /var/www/clients/client1/web1/web/yiic.php lot checkAndDeleteCommandsCache 2>&1 * * * * * root php /var/www/clients/client1/web1/web/yiic.php mailing processEmailQueue 2>&1 0 */4 * * * root php /var/www/clients/client1/web1/web/yiic.php recalcauctioncount 2>&1 10 10 * * * root php /var/www/clients/client1/web1/web/yiic.php servicePro reminderExpiryPro 2>&1 30 */6 * * * root php /var/www/clients/client1/web1/web/yiic.php servicePro complete 2>&1 10 * * * * root php /var/www/clients/client1/web1/web/yiic.php ban 2>&1 */10 * * * * root php /var/www/clients/client1/web1/web/yiic.php user authStatus 2>&1