octobercms 任务调度不工作
octobercms Task scheduling not working
我正在使用基于 Laravel 的 OctoberCMS。
我没有 SSH 访问我的服务器。
每天我需要删除一些注册后 24 小时内未激活帐户的用户,所以我正在考虑使用任务调度(如 cronjobs)
根据 octobercms docs 我应该在自定义组件的 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() 以进行测试。
您可以对主机或 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();
});
当然,你可以添加一些认证来保护它。
我正在使用基于 Laravel 的 OctoberCMS。
我没有 SSH 访问我的服务器。
每天我需要删除一些注册后 24 小时内未激活帐户的用户,所以我正在考虑使用任务调度(如 cronjobs)
根据 octobercms docs 我应该在自定义组件的 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() 以进行测试。
您可以对主机或 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();
});
当然,你可以添加一些认证来保护它。