2024-03-04 17:53:39 +08:00
|
|
|
|
<?php
|
2024-03-08 17:50:07 +08:00
|
|
|
|
|
2024-03-04 17:53:39 +08:00
|
|
|
|
namespace app\controller;
|
|
|
|
|
|
|
|
|
|
use app\BaseController;
|
2024-03-08 17:50:07 +08:00
|
|
|
|
use think\Facade\Db;
|
|
|
|
|
use Carbon\Carbon;
|
2024-03-04 17:53:39 +08:00
|
|
|
|
|
|
|
|
|
class Index extends BaseController
|
|
|
|
|
{
|
|
|
|
|
public function index()
|
|
|
|
|
{
|
|
|
|
|
return '<style type="text/css">*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} a{color:#2E5CD5;cursor: pointer;text-decoration: none} a:hover{text-decoration:underline; } body{ background: #fff; font-family: "Century Gothic","Microsoft yahei"; color: #333;font-size:18px;} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.6em; font-size: 42px }</style><div style="padding: 24px 48px;"> <h1>:) </h1><p> ThinkPHP V' . \think\facade\App::version() . '<br/><span style="font-size:30px;">16载初心不改 - 你值得信赖的PHP框架</span></p><span style="font-size:25px;">[ V6.0 版本由 <a href="https://www.yisu.com/" target="yisu">亿速云</a> 独家赞助发布 ]</span></div><script type="text/javascript" src="https://e.topthink.com/Public/static/client.js"></script><think id="ee9b1aa918103c4fc"></think>';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function hello($name = 'ThinkPHP6')
|
|
|
|
|
{
|
|
|
|
|
return 'hello,' . $name;
|
|
|
|
|
}
|
2024-03-08 17:50:07 +08:00
|
|
|
|
/**
|
|
|
|
|
* 更新时间
|
|
|
|
|
*/
|
|
|
|
|
public function updated($name = 'ThinkPHP6')
|
|
|
|
|
{
|
|
|
|
|
// 获取当前时间
|
|
|
|
|
$current = Carbon::now();
|
|
|
|
|
|
|
|
|
|
// 添加 21 天到当前时间
|
|
|
|
|
$trialExpires = $current->addDays(21);
|
|
|
|
|
$data = ['date' => $trialExpires->toDateString(), 'tip' => ' '];
|
|
|
|
|
// $result = Db::table("demo")->where("id",1)->find();
|
|
|
|
|
// dump($result);
|
|
|
|
|
Db::table('time_log')->insert($data);
|
|
|
|
|
return show(200, 'ok', ['time' => $trialExpires]);
|
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* 每天访问一次的任务
|
|
|
|
|
*/
|
|
|
|
|
public function scheduled_tasks($name = 'ThinkPHP6')
|
|
|
|
|
{
|
|
|
|
|
$db_time=Db::table('time_log')->where('id', Db::table('time_log')->max('id'))->find();;
|
|
|
|
|
//dump($db_time);
|
|
|
|
|
$time =$db_time['date'];
|
|
|
|
|
// 获取当前时间
|
|
|
|
|
$current = Carbon::now();
|
|
|
|
|
for ($i=0; $i < 8; $i++) {
|
|
|
|
|
$current->subDay($i);
|
|
|
|
|
if(strcmp($current->toDateString(),$time)==0){
|
|
|
|
|
|
|
|
|
|
echo "to do ";
|
|
|
|
|
//$this->updated("");
|
|
|
|
|
$i==7?$this->updated(""):'';
|
|
|
|
|
return show(200, 'ok', ['time' => $current->toDateString(),'time2'=>$time]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* 更新时间
|
|
|
|
|
*/
|
|
|
|
|
public function send_msg($title,$body)
|
|
|
|
|
{
|
|
|
|
|
// 添加 30 天到当前时间
|
|
|
|
|
// 1.当前任务将由哪个类来负责处理。
|
|
|
|
|
// 当轮到该任务时,系统将生成一个该类的实例,并调用其 fire 方法
|
|
|
|
|
$jobHandlerClassName = 'app\job\Hello';
|
|
|
|
|
|
|
|
|
|
// 2.当前任务归属的队列名称,如果为新队列,会自动创建
|
|
|
|
|
$jobQueueName = "helloJobQueue";
|
|
|
|
|
|
|
|
|
|
// 3.当前任务所需的业务数据 . 不能为 resource 类型,其他类型最终将转化为json形式的字符串
|
|
|
|
|
// ( jobData 为对象时,存储其public属性的键值对 )
|
|
|
|
|
$jobData = ['ts' => time(), 'bizId' => uniqid(), 'a' => 1,'title'=>$title,'body'=>$body];
|
|
|
|
|
|
|
|
|
|
// 4.将该任务推送到消息队列,等待对应的消费者去执行
|
|
|
|
|
$isPushed = Queue::push($jobHandlerClassName, $jobData, $jobQueueName);
|
|
|
|
|
|
|
|
|
|
// database 驱动时,返回值为 1|false ; redis 驱动时,返回值为 随机字符串|false
|
|
|
|
|
if ($isPushed !== false) {
|
|
|
|
|
Log::info(date('Y-m-d H:i:s')."消息已经推送");
|
|
|
|
|
} else {
|
|
|
|
|
Log::error(date('Y-m-d H:i:s')."消息推送失败请检查队列驱动");
|
|
|
|
|
}
|
|
|
|
|
}
|
2024-03-04 17:53:39 +08:00
|
|
|
|
}
|