[译]Laravel 5.0 之事件调度程序 (定时任务)
时间:2022-05-02
本文章向大家介绍[译]Laravel 5.0 之事件调度程序 (定时任务),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文译自 Matt Stauffer 的系列文章.
关于 Laravel 5.0 的事件调度程序(可以理解为定时任务),Eric Barnes 有一篇很长的文章。我这篇文章则会尽量简短:
Laravel 5.0 新增了一个框架内置的 cron 风格的令人难以置信的调度程序(与 Indatus 的 Dispatcher 类似)。只要在服务器上设置一个每分钟调用 artisan schedule:run
的 cron job, 一切就准备就绪了。
*/1 * * * * php /path/to/artisan schedule:run
举个例子,通过绑定下面的事件,可以实现每天自动清理密码提示记录:
$schedule
->command('auth:clear-reminders') // 清理密码提示
->daily() // 每天执行
->sendOutputTo($logPath) // 把输出写入日志
->emailOutputTo('me@me.com'); // 把输出发到指定邮箱
你可以通过 command()
来调用 artisan 命令, call
来调用方法或函数, 或者 terminal()
来执行单行命令脚本:
$schedule->call('YourClass@someMethod')->twiceDaily();
$schedule->call(function() {
// Do stuff
})->everyFiveMinutes();
还可以借助回调来决定什么时候执行或不执行某些操作,通过 when()
或者 skip()
实现:
$schedule
->call('Mailer@BusinessDayMailer') // 执行类方法
->weekdays() // 周一到周五执行
->skip(function(TypeHintedDeciderClass $decider) { // 如果是节假日则跳过
return $decider->isHoliday();
});
这次的介绍非常简单,因为常用功能就是这么容易。但如果你需要全面理解这一新特性的话,可以阅读 Eric 在 Laravel-News 发表的文章: Laravel 5 Scheduler.
- 再谈web.config/app.config敏感数据加/解密的二种方法
- NVIDIA颁布最新禁令,GeForce不能再行深度学习了!
- 2017年终盘点:请留意这七项科学技术的最新进展
- 什么叫做真正的无人驾驶汽车?难道真的没有人么?
- 零基础学习人工智能之Python篇1-Python定义
- aspx超时问题容易忽略的细节
- 给最后一周下个猛料,JavaScript 2017 使用调查!
- MongoDB快速入门
- AI:被过度夸大
- setInterval()与clearInterval()的用法
- Jquery开发插件的方法
- 快速入门系列--Log4net日志组件
- C# 移位运算符
- 快速入门系列--CLR--01基本概念
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- 升级Php Curl扩展遇到的坑
- Skywalking Php注册不上问题排查
- 接口403问题没这么容易解决
- 码云 Pages 搭建
- Meteva笔记:加载GRIB 2要素场
- crontab 指令笔记
- Shell 脚本实现串口操作
- 【CSS】714- 你所不知道的 CSS 负值技巧与细节
- SRC挖掘利器—溯光开源插件化渗透测试框架
- 【React】717- 从零实现 React-Redux
- 【Vue.js】Vue.js介绍及MVVM模式
- 【Vue.js】Vue.js基本语法
- 【JS】723- 前端如何优雅的处理类数组对象?
- GitLabCI作业中如何使用私有仓库镜像?
- 三分钟学会自定义spring-boot-starter