octobercms Task scheduling not working

痴心易碎 提交于 2019-12-22 10:18:06

问题


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.


回答1:


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!