Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
B
browser-backend
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
browser-backend
Commits
12206673
Commit
12206673
authored
Jul 10, 2020
by
xuxin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
去除对客户自有的且不走专线的ip的健康检查
parent
06880979
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
18 additions
and
14 deletions
+18
-14
BrowserTask.java
...va/com/edgec/browserbackend/browser/task/BrowserTask.java
+15
-13
Trans.java
...ain/java/com/edgec/browserbackend/common/utils/Trans.java
+3
-1
No files found.
src/main/java/com/edgec/browserbackend/browser/task/BrowserTask.java
View file @
12206673
...
@@ -206,15 +206,11 @@ public class BrowserTask {
...
@@ -206,15 +206,11 @@ public class BrowserTask {
()
->
{
()
->
{
if
(
ipResourceRepository
.
lockTask
(
ipResource
))
{
if
(
ipResourceRepository
.
lockTask
(
ipResource
))
{
try
{
try
{
log
.
error
(
"test"
);
String
url
=
URL
+
"/ecc/ipinfo?accountId=browser&ip="
+
ipResource
.
getAddr
();
String
url
=
URL
+
"/ecc/ipinfo?accountId=browser&ip="
+
ipResource
.
getAddr
();
Map
<
String
,
String
>
header
=
buildGetHeader
();
Map
<
String
,
String
>
header
=
buildGetHeader
();
String
rs
=
HttpClientutils
.
doGet
(
url
,
header
);
String
rs
=
HttpClientutils
.
doGet
(
url
,
header
);
IpInfoResultDto
ipInfoResultDto
=
JSONObject
.
parseObject
(
rs
,
IpInfoResultDto
.
class
);
IpInfoResultDto
ipInfoResultDto
=
JSONObject
.
parseObject
(
rs
,
IpInfoResultDto
.
class
);
if
(
ipInfoResultDto
!=
null
&&
StringUtils
.
isBlank
(
ipInfoResultDto
.
getErrorCode
()))
{
if
(
ipInfoResultDto
!=
null
&&
StringUtils
.
isBlank
(
ipInfoResultDto
.
getErrorCode
()))
{
log
.
error
(
ipInfoResultDto
.
getErrorCode
());
log
.
error
(
ipInfoResultDto
.
getStatus
());
log
.
error
(
ipInfoResultDto
.
getEipIPAddr
());
if
(
StringUtils
.
isNotEmpty
(
ipInfoResultDto
.
getStatus
()))
{
if
(
StringUtils
.
isNotEmpty
(
ipInfoResultDto
.
getStatus
()))
{
ipResourceRepository
.
updateStatus
(
ipResource
.
getId
(),
0
);
ipResourceRepository
.
updateStatus
(
ipResource
.
getId
(),
0
);
}
}
...
@@ -242,25 +238,31 @@ public class BrowserTask {
...
@@ -242,25 +238,31 @@ public class BrowserTask {
@Scheduled
(
cron
=
"0 0/5 * * * ?"
)
@Scheduled
(
cron
=
"0 0/5 * * * ?"
)
public
void
healthCheck
()
{
public
void
healthCheck
()
{
// 1. 随机获取未被删除的 20 个 ip 做健康检查
List
<
IpResource
>
ipResources
=
ipResourceRepository
.
sampleTasks
(
Arrays
.
asList
(
0
,
2
));
List
<
IpResource
>
ipResources
=
ipResourceRepository
.
sampleTasks
(
Arrays
.
asList
(
0
,
2
));
for
(
IpResource
ipResource
:
ipResources
)
{
for
(
IpResource
ipResource
:
ipResources
)
{
long
start
=
System
.
currentTimeMillis
();
long
start
=
System
.
currentTimeMillis
();
// todo ipResourceRepository.healthLock(ipResource) 始终为 true,感觉有些多余
if
(
ipResourceRepository
.
healthLock
(
ipResource
))
{
if
(
ipResourceRepository
.
healthLock
(
ipResource
))
{
try
{
try
{
int
failTime
=
0
;
int
failTime
=
0
;
// 获取查询 ip 地址的 5个网址
List
<
QueryIpUrlList
>
queryIpUrlLists
=
queryIpUrlListRepository
.
findAll
();
List
<
QueryIpUrlList
>
queryIpUrlLists
=
queryIpUrlListRepository
.
findAll
();
final
int
maxRetry
=
Math
.
max
(
queryIpUrlLists
.
size
(),
5
);
final
int
maxRetry
=
Math
.
max
(
queryIpUrlLists
.
size
(),
5
);
// 如果 ip 已经失效,且 ip 的状态不是 3:正在分配 和 6:未分配,则将 ip 的状态设置为 1 已过期
if
(
ipResource
.
getValidTime
()
<=
Instant
.
now
().
toEpochMilli
()
&&
ipResource
.
getStatus
()
!=
3
&&
ipResource
.
getStatus
()
!=
6
)
{
if
(
ipResource
.
getValidTime
()
<=
Instant
.
now
().
toEpochMilli
()
&&
ipResource
.
getStatus
()
!=
3
&&
ipResource
.
getStatus
()
!=
6
)
{
ipResource
.
setStatus
(
1
);
ipResource
.
setStatus
(
1
);
ipResourceRepository
.
save
(
ipResource
);
ipResourceRepository
.
save
(
ipResource
);
// 如果 ip 为专线 ip,或者 ip 为用户自己的,但是使用了系统的专线功能
}
else
if
(
ipResource
.
isSpecialLine
()
||
(
ipResource
.
getIpType
()
==
IpType
.
OWN
&&
ipResource
.
isUsingSpecialLine
()))
{
}
else
if
(
ipResource
.
isSpecialLine
()
||
(
ipResource
.
getIpType
()
==
IpType
.
OWN
&&
ipResource
.
isUsingSpecialLine
()))
{
Trans
trans
=
new
Trans
(
ipResource
.
getProxyUsername
(),
ipResource
.
getProxyPassword
());
Trans
trans
=
new
Trans
(
ipResource
.
getProxyUsername
(),
ipResource
.
getProxyPassword
());
String
sp_result
=
trans
.
get
(
getNextUrl
(
queryIpUrlLists
,
failTime
).
getUrl
());
String
sp_result
=
trans
.
get
(
getNextUrl
(
queryIpUrlLists
,
failTime
).
getUrl
());
while
(!
sp_result
.
contains
(
ipResource
.
getAddr
()))
{
while
(!
sp_result
.
contains
(
ipResource
.
getAddr
()))
{
if
(
failTime
>
maxRetry
)
{
if
(
failTime
>
maxRetry
)
{
NotifyUtils
.
sendMessage
(
"防关联浏览器 ip "
+
ipResource
.
getAddr
()
+
" 专线代理异常:"
+
ipResource
.
getIpType
(),
NotifyUtils
.
sendMessage
(
"防关联浏览器 ip "
+
ipResource
.
getAddr
()
+
" 专线代理异常:"
+
ipResource
.
getIpType
(),
NotifyUtils
.
MsgType
.
WEBHOOK
);
NotifyUtils
.
MsgType
.
WEBHOOK
);
log
.
error
(
"防关联浏览器 ip "
+
ipResource
.
getAddr
()
+
" 专线代理异常 "
+
sp_result
);
log
.
error
(
"防关联浏览器 ip "
+
ipResource
.
getAddr
()
+
" 专线代理异常 "
+
sp_result
);
break
;
break
;
}
}
...
@@ -268,16 +270,15 @@ public class BrowserTask {
...
@@ -268,16 +270,15 @@ public class BrowserTask {
Thread
.
sleep
(
2000
);
Thread
.
sleep
(
2000
);
sp_result
=
trans
.
get
(
getNextUrl
(
queryIpUrlLists
,
failTime
).
getUrl
());
sp_result
=
trans
.
get
(
getNextUrl
(
queryIpUrlLists
,
failTime
).
getUrl
());
}
}
}
else
if
(
ipResource
.
getIpType
()
==
IpType
.
VENDOR
||
(
ipResource
.
getIpType
()
==
IpType
.
OWN
&&
!
ipResource
.
isUsingSpecialLine
()))
{
// 如果 ip 类型为 vendor
String
result
;
}
else
if
(
ipResource
.
getIpType
()
==
IpType
.
VENDOR
)
{
Trans
trans
=
new
Trans
(
ipResource
.
getAddr
(),
Integer
.
valueOf
(
ipResource
.
getPort
().
size
()
>
1
?
ipResource
.
getPort
().
get
(
1
)
:
ipResource
.
getPort
().
get
(
0
)),
ipResource
.
getUsername
(),
ipResource
.
getPassword
());
Trans
trans
=
new
Trans
(
ipResource
.
getAddr
(),
Integer
.
valueOf
(
ipResource
.
getPort
().
size
()
>
1
?
ipResource
.
getPort
().
get
(
1
)
:
ipResource
.
getPort
().
get
(
0
)),
ipResource
.
getUsername
(),
ipResource
.
getPassword
());
result
=
trans
.
get
(
getNextUrl
(
queryIpUrlLists
,
failTime
).
getUrl
());
String
result
=
trans
.
get
(
getNextUrl
(
queryIpUrlLists
,
failTime
).
getUrl
());
if
(!
result
.
contains
(
ipResource
.
getAddr
()))
{
if
(!
result
.
contains
(
ipResource
.
getAddr
()))
{
while
(!
result
.
contains
(
ipResource
.
getAddr
()))
{
while
(!
result
.
contains
(
ipResource
.
getAddr
()))
{
if
(
failTime
>
maxRetry
)
{
if
(
failTime
>
maxRetry
)
{
NotifyUtils
.
sendMessage
(
"防关联浏览器 ip "
+
ipResource
.
getAddr
()
+
" 代理异常:"
+
ipResource
.
getIpType
(),
NotifyUtils
.
sendMessage
(
"防关联浏览器 ip "
+
ipResource
.
getAddr
()
+
" 代理异常:"
+
ipResource
.
getIpType
(),
NotifyUtils
.
MsgType
.
WEBHOOK
);
NotifyUtils
.
MsgType
.
WEBHOOK
);
log
.
error
(
"防关联浏览器 ip "
+
ipResource
.
getAddr
()
+
" 代理异常 "
+
result
);
log
.
error
(
"防关联浏览器 ip "
+
ipResource
.
getAddr
()
+
" 代理异常 "
+
result
);
break
;
break
;
}
}
...
@@ -288,7 +289,8 @@ public class BrowserTask {
...
@@ -288,7 +289,8 @@ public class BrowserTask {
}
}
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
NotifyUtils
.
sendMessage
(
"防关联浏览器 ip "
+
ipResource
.
getAddr
()
+
" 代理异常"
,
e
,
NotifyUtils
.
MsgType
.
WEBHOOK
);
// todo 将代理异常改为 健康检查异常
NotifyUtils
.
sendMessage
(
"防关联浏览器 ip "
+
ipResource
.
getAddr
()
+
" 健康检查异常"
,
e
,
NotifyUtils
.
MsgType
.
WEBHOOK
);
log
.
error
(
e
.
getMessage
(),
e
);
log
.
error
(
e
.
getMessage
(),
e
);
}
finally
{
}
finally
{
long
end
=
System
.
currentTimeMillis
();
long
end
=
System
.
currentTimeMillis
();
...
...
src/main/java/com/edgec/browserbackend/common/utils/Trans.java
View file @
12206673
...
@@ -59,7 +59,9 @@ public class Trans {
...
@@ -59,7 +59,9 @@ public class Trans {
String
url
=
"http://free.ipwhois.io/json/"
;
String
url
=
"http://free.ipwhois.io/json/"
;
Trans
trans
=
new
Trans
(
"112.74.47.217"
,
20001
,
"fangguanlianbrowser"
,
"5D753F36QKqIaA1"
);
Trans
trans
=
new
Trans
(
"112.74.47.217"
,
20001
,
"fangguanlianbrowser"
,
"5D753F36QKqIaA1"
);
String
rs
=
trans
.
get
(
url
);
String
rs
=
trans
.
get
(
url
);
System
.
out
.
println
(
rs
);
System
.
out
.
println
(
rs
.
contains
(
"112.74.47.217"
));
}
}
/**
/**
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment