我使用的thinkPHP和workMan結(jié)合的模式,如果用戶在前端調(diào)用接口的時,遇到workman異常了或者沒有啟動,前端的接口代碼就直接報錯了。
?
希望增加一個?Gateway::Connect($registerAddress)并且這個函數(shù)可以返回是否已經(jīng)成功連接到注冊中心。
這樣我們在開發(fā)的過程中發(fā)現(xiàn)連接注冊中心失敗,就使用webHook來重新啟動服務(wù)器的workMan。
?
希望大大能夠看見,滿足這一個小小的要求。
<?php
namespace app\index\controller;
use GatewayClient\Gateway;
use think\App;
use think\Controller;
class Index extends Controller
{
public function __construct(App $app = null)
{
parent::__construct($app);
Gateway::$registerAddress = '127.0.0.1:15670';
}
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 V5.1<br/><span style="font-size:30px">12載初心不改(2006-2018) - 你值得信賴的PHP框架</span></p></div><script type="text/javascript" src="https://tajs.qq.com/stats?sId=64890268" charset="UTF-8"></script><script type="text/javascript" src="https://e.topthink.com/Public/static/client.js"></script><think id="eab4b9f840753f8e7"></think>';
}
public function hello($name = 'ThinkPHP5')
{
return 'hello,' . $name;
}
public function ip()
{
return json(array(
'ip' => $this->request->server('REMOTE_ADDR')
));
}
public function getlist()
{
return json(array(
'code' => 0,
'count' => Gateway::getUidCountByGroup('proxy'),
'list' => Gateway::getUidListByGroup('proxy')
));
}
public function subbad()
{
$ip = $this->request->param('ip');
if (Gateway::isUidOnline($ip)) {
$clients = Gateway::getClientIdByUid($ip);
foreach ($clients as $key => $value) {
Gateway::closeClient($value);
}
return json(array(
'code' => 0,
'msg' => '已重啟該客戶端'
));
} else {
return json(array(
'code' => -1,
'msg' => '該客戶端不在線'
));
}
}
}