Я использую OctoberCMS на основе Laravel.
У меня нет доступа по SSH к моему серверу.
Каждый день мне нужно удалять некоторых пользователей, которые не активировали свою учетную запись через 24 часа после регистрации, поэтому я подумываю об использовании расписания задач (например, cronjobs)
Согласно октябрьским месяцам документы Я должен сделать функцию для планирования задач реестра в 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 () для тестирования.
Вы можете использовать классический HTTP-вызов с вашим хостом или сервисом вроде https://www.setcronjob.com
Создайте файл rout.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();
});
Конечно, вы можете добавить некоторую аутентификацию, чтобы защитить ее.
Других решений пока нет …