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

相关文章
|
5月前
|
Go
Go 定时任务方法封装
Go 定时任务方法封装
28 0
|
9月前
|
资源调度 API
[Nestjs] 集成定时器以及使用方法
在后台开发中,我们经常遇到定时的需求,比如每天早上八点推送日志,推送待办,推送天气预报等。接下来简单介绍Nestjs集成定时器的简单使用方法!
211 0
|
9月前
|
Java
简单实现一个定时任务
简单实现一个定时任务
95 0
|
10月前
|
JavaScript 前端开发
FastAdmin中RequireJs是如何调用的
FastAdmin中RequireJs是如何调用的
264 0
|
设计模式
Yii2如何使用事件?底层原理是什么?
Yii2如何使用事件?底层原理是什么?
119 0
|
PHP Windows
laravel定时任务,tp定时任务,thinkphp定时任务
laravel定时任务,tp定时任务,thinkphp定时任务
150 0
|
PHP 容器
Laravel 队列源码解析(上)
Laravel 队列源码解析
142 0
|
NoSQL PHP Redis
Laravel 队列源码解析(下)
Laravel 队列源码解析
132 0
|
监控 Python
Python编程:Django中使用Celery执行异步任务和定时任务
Python编程:Django中使用Celery执行异步任务和定时任务
185 0
|
Java 调度 数据库
SpringBoot 定时器简单使用,实现任务调度
SpringBoot 定时器简单使用,实现任务调度
280 0