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月前
|
存储 监控 调度
Django中的定时任务与后台任务队列的实践
【6月更文挑战第10天】在Django中实现定时任务和后台任务队列,可以使用Celery+Beat进行定时任务,Django Q处理后台任务。Celery配置包括设置Broker和Result Backend,创建Celery实例及任务。Django Q则涉及安装、配置ORM和创建任务。通过`async_task`将任务放入队列。注意性能、资源、安全和错误处理。使用时需考虑认证、输入验证、日志监控、部署策略和测试质量保障。
59 3
Django中的定时任务与后台任务队列的实践
|
Java Spring
SpringBoot核心特性——异步任务和定时任务那些事
前言 通常情况下,SpringMVC接收到请求后会将请求具体分发给单个线程进行处理。如果请求处理中涉及到比较耗时的操作,为了能更快地将响应返回给用户,那么就需要将耗时的业务操作交由别的线程进行异步处理,而SpringBoot已经为我们提供了这样的实现。
568 2
SpringBoot核心特性——异步任务和定时任务那些事
|
资源调度 API
[Nestjs] 集成定时器以及使用方法
在后台开发中,我们经常遇到定时的需求,比如每天早上八点推送日志,推送待办,推送天气预报等。接下来简单介绍Nestjs集成定时器的简单使用方法!
307 0
|
Java
简单实现一个定时任务
简单实现一个定时任务
127 0
|
缓存 NoSQL 前端开发
【Go】基于 Gin 从0到1搭建 Web 管理后台系统后端服务(三)路由、自定义校验器和 Redis
【Go】基于 Gin 从0到1搭建 Web 管理后台系统后端服务(三)路由、自定义校验器和 Redis
|
PHP Windows
laravel定时任务,tp定时任务,thinkphp定时任务
laravel定时任务,tp定时任务,thinkphp定时任务
177 0
|
PHP Windows
thinkphp3定时任务,tp定时任务,thinkphp定时任务
thinkphp3定时任务,tp定时任务,thinkphp定时任务
666 0
|
监控 Python
Python编程:Django中使用Celery执行异步任务和定时任务
Python编程:Django中使用Celery执行异步任务和定时任务
227 0
|
Java 调度 Spring
SpringBoot 异步任务+定时任务(附源码)
SpringBoot 异步任务+定时任务(附源码)
158 0
SpringBoot 异步任务+定时任务(附源码)
|
JavaScript 安全 网络安全
如何使用nodejs自动发送邮件?
之前用Nodejs做了很多服务端模块, 最近抽空复盘一下, 接下来笔者将介绍如何使用Nodejs来自动向用户发送邮件. 笔者将详细介绍自动发送邮箱的实现方案, 以及通过一个实际的案例来带大家掌握使用nodejs自动发送邮件, 最后会介绍一些实际的应用场景, 来加深对该方案的理解, 达到学以致用的目的.
745 0