本文基于Laravel Framework 6.17.1版本
(1).创建项目(依赖真多,如此臃肿)
composer create-project --prefer-dist laravel/laravel blog
(2).安装定时任务composer包
composer require think-task/think-task
(3).执行创建命令行处理类文件(自动生成了文件app/Console/Commands/Task.php)
php artisan make:command Task
(4).修改第3步创建的app/Console/Commands/Task.php为以下内容
<?php namespace App\Console\Commands; use Illuminate\Console\Command; class Task extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'task{action=start}'; /** * The console command description. * * @var string */ protected $description = 'Command description'; /** * Create a new command instance. * * @return void */ public function __construct() { parent::__construct(); } /** * Execute the console command. * * @return mixed */ public function handle() { $action = $this->argument('action'); // 初始化EasyTask $task = new \ThinkTask\Task(); // 设置项目名称 $task->setPrefix('Think'); // 设置后台运行 $task->setDaemon(false); // 设置日志保存目录 $task->setRunTimePath('./bootstrap/cache/'); // 添加闭包任务,开2个进程5s执行1次访问网址 $task->addFunc(function () { @file_get_contents('http://xingxinghan.cn/?id=6'); }, 'Curl_1', 5, 3); // 添加执行tp默认控制器的方法,开1个进程10s执行1次访问网址 //$task->addClass('\app\index\controller\Index', 'index', 'Curl_2', 10, 1); // 根据命令执行 if ($action == 'start') { $task->start(); } if ($action == 'status') { $task->status(); } if ($action == 'stop') { $task->stop(); } } }
(5).将上面的文件注册一下(修改app/Console/Kernel.php文件)
protected $commands = [ \App\Console\Commands\Task::class ];
(6).执行命令(windows请使用cmd,由于cmd不支持utf8编码,可以在本站搜索关键字“乱码”相关文章处理),:
php artisan task start 启动命令 php artisan task status 查询命令 php artisan task stop 关闭命令
提示:后台执行失败可修改为前台启动查看问题或者查看日志文件,有问题可以在qq群反馈bug
上家公司开发医院挂号系统,系统采用GBK编码。ajax发送的中文用户名让PHP保存为cookie出现乱码的解决方案。1.Javascript变量var user=document.getElementById('user').innerText; user=escape(u...
首先下载wkhtmltox-0.12.4_linux-generic-amd64.tar.xz (不要下载RPM包,依赖太多,需要x-server支持),并解压,执行测试运行正常tar wkhtmltox-0.12.4_linux-generic-amd64.tar.xzcd...
【一】.抽象类假设如下场景:团队准备开发某网站,表建好了,页面设计好了.A组负责开发底层数据库操作类(DB),B组负责调用DB类.但是此时A组发生了争执,MySQL? Oracle? DB2? sqlite?到底使用什么数据库?B组.... 进入漫长的等待.解决方法:A组和B组 先定1个数据库类的模...
先在centos安装openssl,然后开始://生成私钥openssl genrsa -out rsa_private_key.pem 1024//生成公钥openssl rsa -in rsa_private_key.pem&...
重构框架的时候想要考虑支持下cli模式,于是参考了thinkphp的底层。/** * 获取应用根目录 * @return string */ public static function getRootP...
自己的composer已经发布到packagist,但是无法使用composer require easy-task/easy-task来安装,只能在配置文件使用如下方式安装:"require": { "easy...