OctoberCMS Планирование задач не работает

Я использую OctoberCMS на основе Laravel.

У меня нет SSH-доступа к моему серверу.

Каждый день мне нужно удалять некоторых пользователей, которые не активировали свою учетную запись в течение 24 часов после регистрации, поэтому я думаю об использовании планирования задач (например, cronjobs).

Согласно docs octobercms, я должен создать функцию для планирования задач регистрации в пользовательском компоненте. Plugin.php - я сделал это.

Я сделал зарегистрированных пользователей без учетной записи активации и старше 1 дня.

Но проблема в том, что - вообще ничего не происходит.

Это мой код в plugin.php компонента:

public function registerSchedule($schedule)
{
    $schedule->call(function() {
        \DB::connection('mydb')->table('u')->whereRaw('u.created_at <= NOW() - INTERVAL 1 DAY')->where('is_activated','=',0)->delete();
    })->everyMinute();
}

Примечание. Я изменил ->daily() на -> everyMinute() для тестирования.


person Z.S    schedule 11.04.2017    source источник
comment
Настроили ли вы указанное здесь задание cron: octobercms.com/docs/setup/installation# crontab-настройка   -  person dragontree    schedule 11.04.2017
comment
Нет. Я не знал, потому что у меня нет доступа через консоль к серверу, я понятия не имею, как это сделать без доступа по ssh.   -  person Z.S    schedule 11.04.2017


Ответы (1)


Вы можете использовать классический HTTP-вызов с вашим хостом или такой службой, как https://www.setcronjob.com.

Создайте файл route.php в корневой папке плагина с маршрутом:

use Route;

Route::get('/yourprefix/delete_users', function () {
DB::connection('mydb')->table('u')->whereRaw('u.created_at <= NOW() - INTERVAL 1 DAY')->where('is_activated','=',0)->delete();
});

Конечно, вы можете добавить некоторую аутентификацию, чтобы защитить его.

person Pierre-André Vullioud    schedule 11.04.2017
comment
Спасибо, мой друг, это решено ;). Но мой вопрос в том, почему мой планировщик задач не работает? потому что я не установил его в консоли? - person Z.S; 12.04.2017
comment
octobercms.inetis.ch/cron-without-command-line вы также можете используйте ремесленника с той же техникой. Но у вас могут быть проблемы с таймаутом сервера - person Pierre-André Vullioud; 12.04.2017