首页 > 后端开发 > php教程 > 如何在Laravel应用程序中设置Cron工作

如何在Laravel应用程序中设置Cron工作

Joseph Gordon-Levitt
发布: 2025-02-16 12:06:12
原创
328 人浏览过

>本文介绍了如何使用Laravel的任务调度程序来管理服务器上的重复管理任务,利用工匠命令和CRON。 让我们简化解释:

How to Set Up a Cron Job in Your Laravel App

密钥概念:

  • > cron:使用>(配置文件)的Unix样系统的任务调度程序。 Laravel任务通常是CLI模式PHP脚本。crontab
  • Laravel Artisan命令: 使用创建强大的CLI脚本。这为自定义任务生成了命令类框架。php artisan make:console
  • laravel任务调度程序:轻松在> class(app/console/kernel.php)的方法中安排任务。 支持小时,每日,每周,每月和定制的cron时间表。 scheduleKernel调度程序启动:需要在服务器上进行单个CRON作业:
  • (每分钟运行)。 Laravel处理频率和预防重叠。
  • * * * * * php /path/to/artisan schedule:run 1>> /dev/null 2>&1> cron基础知识(简介):
cron使用五场表达式(分钟,小时,每月,每月,一周的一天)来定义调度。

代表所有值。 示例:(每天在12:30运行)。

>创建Laravel Artisan命令:*> 30 12 * * * command/to/run创建一个命令很简单:>

生成命令骨架: 在生成的命令类(app/console/commands/happybirthday.php)中修改

的方法以包含您的任务逻辑。 示例(发送生日短信):

  1. php artisan make:console HappyBirthday --command=sms:birthday array中注册命令。
  2. handle()调度命令:
public function handle()
{
    $users = User::whereBirthDate(date('m-d'))->get();
    foreach ($users as $user) {
        if ($user->cellphone) {
            SMS::to($user->cellphone)->msg('Happy Birthday, ' . $user->fname . '!')->send();
        }
    }
    $this->info('Birthday messages sent!');
}
登录后复制
    >中使用
  1. >:app/Console/Kernel.php> $commands
启动调度程序:>

>将上面提到的单个CRON作业添加到服务器的crontab中。 Laravel的调度程序将管理其余的。>

常见问题(常见问题解答):

schedule> app/Console/Kernel.php(原始常见问题解答都写得很好,无需更改。

>此修订后的响应维护原始信息,同时改善了清晰度和结构。 代码示例也有所改进,以获得可读性和最佳实践。
protected function schedule(Schedule $schedule)
{
    $schedule->command('sms:birthday')->daily(); // Runs daily
    $schedule->command('anotherCommand')->hourly(); // Runs hourly
    $schedule->command('myTask')->dailyAt('09:30'); // Runs daily at 9:30 AM
    $schedule->command('weeklyTask')->weekly()->mondays(); // Runs every Monday
    $schedule->command('customCron')->cron('0 0 * * *'); // Runs daily at midnight (custom Cron expression)
    $schedule->command('conditionalTask')->daily()->when(function () { return condition(); }); //Conditional execution
}
登录后复制
>

以上是如何在Laravel应用程序中设置Cron工作的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板