简介
定时任务是后端开发过程中一项十分常见的需求,常出现在数据统计、垃圾信息清理等场景中。Laravel 提供了一整套的定时任务工具,让我们只需要专注地完成逻辑,剩下的基础工作将由它来承担。
基本用法
生成命令
php artisan make:command YourTask
5.2 及之前的版本,此命令为
php artisan make:console xxx
编辑命令
编辑 app/Console/Commands/YourTask.php
文件,代码如下:
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use App\Traits\LogTrait;
class YourTask extends Command
{
use LogTrait;
protected $signature = 'task:doIt'; // 命令名称,用来在command里用的,一个标识吧
protected $description = '一个能用的lavravel定时任务'; // 命令描述,没什么用
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
//这里写你的代码
$this->logsForSample('task cron invoke', ['id' => 1234567890]);
}
}
注册命令
编辑 app/Console/Kernel.php
文件,将新生成的类进行注册:
protected $commands = [
\App\Console\Commands\YourTask::class,
];
编写调用逻辑:
protected function schedule(Schedule $schedule)
{
$schedule->command('task:doIt') //还记得上面的$signature么?
->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
,搞定!
搜索
标签
study
ab
amap
apache
apahe
awk
aws
bat
centos
CFS
chrome
cmd
cnpm
composer
consul
crontab
css
curl
cygwin
devops
di
docker
docker,docker-compose
ethereum
excel
fiddler
fluentd
framework
front-end
git
gitgui
github
glide
go
golang
gorm
grafana
gzip
ioc
item2
iterm2
javascript
jenkins
jsonp
kafka
laradock
laravel
larval
linux
liunux
log
mac
mac, wi-fi
macos
magento
mariaDB
minikube
mongoDB
msp
mysql
netbeans
nginx
nodejs
nohup
npm
nsq
oracle
php
php-fpm
php7
phpstorm
php扩展
Protobuf
python
redis
scp
server
shell
soap
socket
socket5
sql
sre
ssdb
ssh
ssl
study
sublime
swift
system
td-agent
uml
v2ray
vagrant
vagrnat
vim
vpn
vue
vue.js
webpack
webrtc
websocket
webtatic
windows
windows7
word
wps
xdebug
yarn
yii2
yum
zookeeper
世界国家
互联网
以太坊
分类
前端
小程序
打印机
排序算法
搞笑
权限
粤语
缓存
网络
虚拟机
视频
设计模式
项目管理
热门文章
友情链接