Я использую OctoberCMS на основе Laravel.
У меня нет SSH-доступа к моему серверу.
Каждый день мне нужно удалить некоторых пользователей, которые не активировали свою учетную запись через 24 часа после регистрации, поэтому я думаю о том, чтобы использовать планирование выполнения (например, cronjobs)
В соответствии с документами octobercms я должен сделать функцию для планирования задач регистрации в CustomGrid Custom Component. Я сделал это.
Я сделал зарегистрированных пользователей без активации учетной записи и старше, чем 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 () on -> everyMinute () для его тестирования.
Вы можете использовать классический 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(); });
Конечно, вы можете добавить некоторую аутентификацию для ее защиты.