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

简介: 最近在玩Laravel实现定时任务,这个是示例代码,可以参照这个实例。有需要的可以看看定时任务是后端开发过程中一项十分常见的需求,常出现在数据统计、垃圾信息清理等场景中。

最近在玩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,
];

编写调用逻辑:

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,搞定!

相关文章
|
8月前
|
资源调度 API
[Nestjs] 集成定时器以及使用方法
在后台开发中,我们经常遇到定时的需求,比如每天早上八点推送日志,推送待办,推送天气预报等。接下来简单介绍Nestjs集成定时器的简单使用方法!
195 0
|
8月前
|
Java
简单实现一个定时任务
简单实现一个定时任务
93 0
|
10月前
|
数据库 Python
python的flask的请求钩子的使用方法和使用场景
python的flask的请求钩子的使用方法和使用场景
101 0
|
PHP Windows
laravel定时任务,tp定时任务,thinkphp定时任务
laravel定时任务,tp定时任务,thinkphp定时任务
148 0
|
PHP Windows
thinkphp3定时任务,tp定时任务,thinkphp定时任务
thinkphp3定时任务,tp定时任务,thinkphp定时任务
534 0
|
PHP 容器
Laravel 队列源码解析(上)
Laravel 队列源码解析
140 0
|
NoSQL PHP Redis
Laravel 队列源码解析(下)
Laravel 队列源码解析
129 0
|
Python
【数据结构实践】简单实现Python自定义队列
队列:跟数组一样,队列中的数据也是呈线性排列的,它是一种先进先出(FIFO: First in First Out)的线性结构,队列是只允许在一端进行插入操作,而在另一端进行删除操作的线性表.即在队列的尾部入队,在队列的头部出队。 在队列中添加和删除数据的操作分别是在两端进行的。顾名思义,他就和我们现实生活中的‘队列’是一样的,你可以把它想象操场上排成一列的队伍,在队列中,操作总是从第一名开始往后进行,而新来的人只能排在队尾。先来的数据先处理是一种很常见的思路,所以队列的应用范围非常广泛。就比如:疫情区间,你去做核酸,你先去的话你排在前面,你后面去的只能排在别人后面,做完核酸的人往前面走,相当
379 1
|
监控 Python
Python编程:Django中使用Celery执行异步任务和定时任务
Python编程:Django中使用Celery执行异步任务和定时任务
182 0
|
Java 调度 数据库
SpringBoot 定时器简单使用,实现任务调度
SpringBoot 定时器简单使用,实现任务调度
274 0