Laravel实现定时任务的示例代码

Laravel实现定时任务的示例代码

https://mp.weixin.qq.com/s/VUEqjwcHRb0ovhP0wup36A

最近在玩Laravel实现定时任务,这个是示例代码,可以参照这个实例。有需要的可以看看

定时任务是后端开发过程中一项十分常见的需求,常出现在数据统计、垃圾信息清理等场景中。Laravel 提供了一整套的定时任务工具,让我们只需要专注地完成逻辑,剩下的基础工作将由它来承担。

基本用法

生成命令

php artisan make:command AreYouOK

5.2 及之前的版本,此命令为 `php artisan make:console xxx`

 

编辑命令

编辑 `app/Console/Commands/AreYouOK.php` 文件,修改如下几处:

... ...
protected $signature = 'areyou:ok'; // 命令名称
protected $description = '雷军,科技圈最会唱歌的男人'; // 命令描述,没什么用

public function __construct()
{
  parent::__construct();
  // 初始化代码写到这里,也没什么用
}
public function handle()
{
  // 功能代码写到这里
}

注册命令

编辑 `app/Console/Kernel.php` 文件,将新生成的类进行注册:

 

protected $commands = [
  \App\Console\Commands\AreYouOK::class,
];

 

编写调用逻辑:app/Console/Kernel.php` 文件

protected function schedule(Schedule $schedule)
{
  $schedule->command('areyou:ok')
       ->timezone('Asia/Shanghai')
       ->everyMinute();
}

上面的逻辑是每分钟调用一次。Laravel 提供了从一分钟到一年的各种长度的时间函数,直接调用即可。

把这个 Laravel 项目注册到系统的 cron 里

编辑 `/etc/crontab` 文件,加入如下代码:

* * * * * root /usr/bin/php /var/www/xxxlaravel/artisan schedule:run >> /dev/null 2>&1

上面一行中的 `/var/www/xxxlaravel` 需要改为实际的路径。

fire

重启 cron 激活此功能:

systemctl restart crond.service

搞定!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113117.html原文链接:https://javaforall.net

(0)
上一篇 2021年10月24日 上午10:00
下一篇 2021年10月24日 上午11:00


相关推荐

  • Coze教程 | 第2章:Coze开发环境搭建与配置

    Coze教程 | 第2章:Coze开发环境搭建与配置

    2026年3月12日
    2
  • ssm框架整合步骤_bootstrap框架搭建

    ssm框架整合步骤_bootstrap框架搭建描述普通情况下,控制台打印出的sql是带?的,开发人员在自己调试的过程中遇到bug是再常见不过了,如果想看一下程序打出来的sql,发现参数的位置都是?,是不是很不爽,若想在数据库中执行sql,还需要手动修改sql的参数,真是麻烦,使用p6spy可以将sql格式化然后打出,打出的sql不再是带有?的,而是可以直接拷贝到数据库执行的。整合步骤如下:添加jar包依赖在service层…

    2022年10月5日
    5
  • 版本号命名规则简述「建议收藏」

    版本号命名规则简述「建议收藏」GNU风格的版本号管理策略主版本号.次版本号.修正版本号1.新建项目初版,版本号为1.0.0。1.0.02.当项目在进行了局部修改或bug修正时,主版本号和子版本号都不变,修正版本号加1;1.0.13.当项目在原有的基础上增加了部分功能时,主版本号不变,子版本号加1,修正版本号复位为0,因而可以被忽略掉;1.1.04.当项目在进行了重大修改或局部修正累积较多,而导致项目整体发

    2025年10月18日
    4
  • 如何使用 Javascript 获取 URL 参数

    如何使用 Javascript 获取 URL 参数JS 获取 URL 参数稍微有点麻烦 因为 JS 只能获取到 URL 的某一部分 但是不能再细分 如果想获取某一项参数 那么还需要使用一下字符串截取 所以分为两步 首先假设 URL 是 首先需要使用来创建一个 URL 对象 然后使用来获取 URL 参数部分 代码如下 显示如下 如果想要了解更多 Javascript 中 URL 相关的信息 可以查看这篇文章 我决定挺不错的 https javascript info urlok 接下来就是截取各部分了 多个 URL 参数通过符号分隔 所以可以利用 J

    2026年3月20日
    2
  • telnet命令详解_Telnet命令

    telnet命令详解_Telnet命令前面的Telnet的命令使用方法部分是我在网上搬过来的,后面的内容是我在自己初学实践时所遇到的一些问题及解决方法。Telnet使用介绍  1、点击开始 → 运行 → 输入CMD,回车。  2、在出来的DOS界面里,输入telnet测试端口命令:telnetIP端口或者telnet域名端口,回车。  如果端口关闭或者无法连接,则显示不能打开到主机的链接,链接失败;端口打开的…

    2026年2月27日
    3
  • 深入浅析Mysql联合索引原理 之 最左匹配原则。

    深入浅析Mysql联合索引原理 之 最左匹配原则。前言之前在网上看到过很多关于mysql联合索引最左前缀匹配的文章,自以为就了解了其原理,最近面试时和大牛交流中,发现遗漏了些东西,这里自己整理一下这方面的内容。最左前缀匹配原则在mysql建立联合索引时会遵循最左前缀匹配的原则,即最左优先,在检索数据时从联合索引的最左边开始匹配,示例:CREATETABLE`student`(`Id`int(11)unsign…

    2022年6月3日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号