I'm using OctoberCMS based on Laravel.
I don't have SSH access to my server.
Each day I need to delete some users who haven't activated their account in 24 hours after registration, so I'am thinking about use a task sheduling ( like cronjobs)
According to octobercms docs I should make a function for register task sheduling in Custom Component's Plugin.php - I made it.
I made registered users without activation account and older then 1 day.
But problem is that - nothing is happening at all.
It's my code in plugin.php of component:
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();
}
Note: I have changed ->daily() on -> everyMinute() for testing it.
You can use a classic HTTP call with your host or a service like https://www.setcronjob.com
Create a routes.php file in the root folder of the plugin with the route:
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();
});
Of course, you can add some authentication to protect it.
来源:https://stackoverflow.com/questions/43348951/octobercms-task-scheduling-not-working