php 任务调度不工作

pwuypxnk  于 2023-10-15  发布在  PHP
关注(0)|答案(1)|浏览(121)

我使用的是基于Laravel的PHP CMS。
我没有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();
}

注意:我已经在-> everyMinute()上更改了->daily()以测试它。

gxwragnw

gxwragnw1#

您可以对主机或https://www.setcronjob.com之类的服务使用经典HTTP调用
在插件的根文件夹中创建一个routes.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();
});

当然,您可以添加一些身份验证来保护它。

相关问题