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
8b075ab8
Commit
8b075ab8
authored
May 12, 2020
by
renjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
健康检查修改
parent
f261ccb3
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
45 additions
and
47 deletions
+45
-47
IpResourceRepositoryCustomImpl.java
...nd/browser/repository/IpResourceRepositoryCustomImpl.java
+1
-1
BrowserTask.java
...va/com/edgec/browserbackend/browser/task/BrowserTask.java
+44
-46
No files found.
src/main/java/com/edgec/browserbackend/browser/repository/IpResourceRepositoryCustomImpl.java
View file @
8b075ab8
...
@@ -117,7 +117,7 @@ public class IpResourceRepositoryCustomImpl implements IpResourceRepositoryCusto
...
@@ -117,7 +117,7 @@ public class IpResourceRepositoryCustomImpl implements IpResourceRepositoryCusto
MatchOperation
match
=
Aggregation
.
match
(
matchCriteria
);
MatchOperation
match
=
Aggregation
.
match
(
matchCriteria
);
SampleOperation
sample
=
Aggregation
.
sample
(
2
0
);
SampleOperation
sample
=
Aggregation
.
sample
(
10
0
);
AggregationResults
<
IpResource
>
results
=
mongoTemplate
.
aggregate
(
Aggregation
.
newAggregation
(
match
,
sample
),
IpResource
.
class
,
IpResource
.
class
);
AggregationResults
<
IpResource
>
results
=
mongoTemplate
.
aggregate
(
Aggregation
.
newAggregation
(
match
,
sample
),
IpResource
.
class
,
IpResource
.
class
);
List
<
IpResource
>
mappedResults
=
results
.
getMappedResults
();
List
<
IpResource
>
mappedResults
=
results
.
getMappedResults
();
...
...
src/main/java/com/edgec/browserbackend/browser/task/BrowserTask.java
View file @
8b075ab8
...
@@ -219,62 +219,60 @@ public class BrowserTask {
...
@@ -219,62 +219,60 @@ public class BrowserTask {
}
}
}
}
@Scheduled
(
cron
=
"0 0/
1
* * * ?"
)
@Scheduled
(
cron
=
"0 0/
5
* * * ?"
)
public
void
healthCheck
()
{
public
void
healthCheck
()
{
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
();
CompletableFuture
.
runAsync
(()
->
{
if
(
ipResourceRepository
.
healthLock
(
ipResource
))
{
if
(
ipResourceRepository
.
healthLock
(
ipResource
))
{
try
{
try
{
QueryIpUrlList
queryIpUrlList
=
queryIpUrlListRepository
.
findAll
().
get
(
0
);
QueryIpUrlList
queryIpUrlList
=
queryIpUrlListRepository
.
findAll
().
get
(
0
);
if
(
ipResource
.
isSpecialLine
())
{
if
(
ipResource
.
isSpecialLine
())
{
Trans
trans
=
new
Trans
(
ipResource
.
getProxyUsername
(),
ipResource
.
getProxyPassword
());
Trans
trans
=
new
Trans
(
ipResource
.
getProxyUsername
(),
ipResource
.
getProxyPassword
());
String
sp_result
=
trans
.
get
(
queryIpUrlList
.
getUrl
(),
true
);
String
sp_result
=
trans
.
get
(
queryIpUrlList
.
getUrl
(),
true
);
int
failTime
=
0
;
int
failTime
=
0
;
while
(!
sp_result
.
contains
(
ipResource
.
getAddr
()))
{
while
(!
sp_result
.
contains
(
ipResource
.
getAddr
()))
{
if
(
failTime
>
5
)
{
if
(
failTime
>
5
)
{
NotifyUtils
.
sendMessage
(
"防关联浏览器 ip "
+
ipResource
.
getAddr
()
+
" 专线代理异常"
,
NotifyUtils
.
MsgType
.
WEBHOOK
);
NotifyUtils
.
sendMessage
(
"防关联浏览器 ip "
+
ipResource
.
getAddr
()
+
" 专线代理异常"
,
NotifyUtils
.
MsgType
.
WEBHOOK
);
log
.
error
(
"防关联浏览器 ip "
+
ipResource
.
getAddr
()
+
" 专线代理异常 "
+
sp_result
);
log
.
error
(
"防关联浏览器 ip "
+
ipResource
.
getAddr
()
+
" 专线代理异常 "
+
sp_result
);
break
;
break
;
}
failTime
++;
Thread
.
sleep
(
2000
);
sp_result
=
trans
.
get
(
queryIpUrlList
.
getUrl
(),
true
);
}
}
failTime
++;
Thread
.
sleep
(
2000
);
sp_result
=
trans
.
get
(
queryIpUrlList
.
getUrl
(),
true
);
}
}
String
result
;
}
Trans
trans
=
new
Trans
(
ipResource
.
getAddr
(),
Integer
.
valueOf
(
ipResource
.
getPort
().
size
()
>
1
?
ipResource
.
getPort
().
get
(
1
):
ipResource
.
getPort
().
get
(
0
)),
ipResource
.
getUsername
(),
ipResource
.
getPassword
());
String
result
;
result
=
trans
.
get
(
queryIpUrlList
.
getUrl
(),
false
);
Trans
trans
=
new
Trans
(
ipResource
.
getAddr
(),
Integer
.
valueOf
(
ipResource
.
getPort
().
size
()
>
1
?
ipResource
.
getPort
().
get
(
1
):
ipResource
.
getPort
().
get
(
0
)),
ipResource
.
getUsername
(),
ipResource
.
getPassword
());
if
(!
result
.
contains
(
ipResource
.
getAddr
()))
{
result
=
trans
.
get
(
queryIpUrlList
.
getUrl
(),
false
);
int
failTime
=
0
;
if
(!
result
.
contains
(
ipResource
.
getAddr
()))
{
while
(!
result
.
contains
(
ipResource
.
getAddr
()))
{
int
failTime
=
0
;
if
(
failTime
>
5
)
{
while
(!
result
.
contains
(
ipResource
.
getAddr
()))
{
NotifyUtils
.
sendMessage
(
"防关联浏览器 ip "
+
ipResource
.
getAddr
()
+
" 专线代理异常"
,
NotifyUtils
.
MsgType
.
WEBHOOK
);
if
(
failTime
>
5
)
{
log
.
error
(
"防关联浏览器 ip "
+
ipResource
.
getAddr
()
+
" 专线代理异常 "
+
result
);
NotifyUtils
.
sendMessage
(
"防关联浏览器 ip "
+
ipResource
.
getAddr
()
+
" 代理异常"
,
NotifyUtils
.
MsgType
.
WEBHOOK
);
break
;
log
.
error
(
"防关联浏览器 ip "
+
ipResource
.
getAddr
()
+
" 代理异常 "
+
result
);
}
break
;
failTime
++;
Thread
.
sleep
(
2000
);
result
=
trans
.
get
(
queryIpUrlList
.
getUrl
(),
true
);
}
}
failTime
++;
Thread
.
sleep
(
2000
);
result
=
trans
.
get
(
queryIpUrlList
.
getUrl
(),
true
);
}
}
}
catch
(
Exception
e
)
{
}
NotifyUtils
.
sendMessage
(
"防关联浏览器 ip "
+
ipResource
.
getAddr
()
+
" 代理异常"
,
e
,
NotifyUtils
.
MsgType
.
WEBHOOK
);
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
NotifyUtils
.
sendMessage
(
"防关联浏览器 ip "
+
ipResource
.
getAddr
()
+
" 代理异常"
,
e
,
NotifyUtils
.
MsgType
.
WEBHOOK
);
}
finally
{
log
.
error
(
e
.
getMessage
(),
e
);
long
end
=
System
.
currentTimeMillis
();
}
finally
{
log
.
debug
(
"queryIpTask {} execution time is: "
+
(
end
-
start
)
/
1000
+
"s"
,
ipResource
.
getId
()
);
long
end
=
System
.
currentTimeMillis
(
);
try
{
log
.
debug
(
"queryIpTask {} execution time is: "
+
(
end
-
start
)
/
1000
+
"s"
,
ipResource
.
getId
());
ipResourceRepository
.
unLockHealth
(
ipResource
.
getId
());
try
{
}
catch
(
Throwable
th
)
{
ipResourceRepository
.
unLockHealth
(
ipResource
.
getId
());
log
.
error
(
"unlock failed"
,
th
);
}
catch
(
Throwable
th
)
{
//try again
log
.
error
(
"unlock failed"
,
th
);
ipResourceRepository
.
unLockHealth
(
ipResource
.
getId
());
//try again
}
ipResourceRepository
.
unLockHealth
(
ipResource
.
getId
());
}
}
}
}
}
,
ThreadPoolUtils
.
queryIpHealth
);
}
}
}
}
}
...
...
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