laravel crontab 任务新建疑问

发布于 2022-09-03 15:08:02 字数 787 浏览 11 评论 0

  1. laravel 怎么实现crontab的编写呢, 官网教程说要在 /app/Console/Kenel.php 里的shedule函数中写。 但是这样代码很多不美观。

目前想法要点:

  1. 可以复制artisian 的文件到 app/crontab(新目录) 中。 重命名一下作为新的脚本。

  2. 根据artisian里面的代码做修改。。 示例如下:

#!/usr/bin/env php
<?php
require __DIR__.'/bootstrap/autoload.php';
$app = require_once __DIR__.'/bootstrap/app.php';
$kernel = $app->make(Illuminate\Contracts\Console\Kernel::class);
$status = $kernel->handle(
    $input = new Symfony\Component\Console\Input\ArgvInput,
    new Symfony\Component\Console\Output\ConsoleOutput
);
$kernel->terminate($input, $status);
exit($status);

其中,我的想法应该是可以将handle里的东西改成自己要执行的函数。 但是,查了下handle函数参数是一个$request ,接下去就不明白怎么实现了。有会的朋友望不吝赐教哈。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

冷情 2022-09-10 15:08:02

直接使用call方面 把你的逻辑放到匿名函数里即可

$schedule->call(function () {
            DB::table('recent_users')->delete();
        })->daily();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文