Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
automatic-test
Overview
Overview
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
钟涨钱
automatic-test
Commits
60464455
Commit
60464455
authored
Sep 22, 2021
by
朽木不可雕也
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
backup
parent
5134f3c2
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
80 additions
and
61 deletions
+80
-61
barrage-crawler-server/src/main/java/com/zhiweidata/automatictest/barragecrawlerserver/entity/BarrageCollectionInfo.java
+6
-1
barrage-crawler-server/src/main/java/com/zhiweidata/automatictest/barragecrawlerserver/jsonhandler/BarrageStatusEnumJsonHandler.java
+23
-9
barrage-crawler-server/src/main/java/com/zhiweidata/automatictest/barragecrawlerserver/timertask/ExportTaskJob.java
+27
-16
barrage-crawler-server/src/main/java/com/zhiweidata/automatictest/barragecrawlerserver/timertask/createtasks/BiliBiliCreateTaskJob.java
+2
-1
barrage-crawler-server/src/main/java/com/zhiweidata/automatictest/barragecrawlerserver/timertask/createtasks/CreateTaskJob.java
+3
-30
barrage-crawler-server/src/test/java/com/zhiweidata/automatictest/barragecrawlerserver/exporttasks/ExportTaskJobTest.java
+18
-3
start.sh
+1
-1
No files found.
barrage-crawler-server/src/main/java/com/zhiweidata/automatictest/barragecrawlerserver/entity/BarrageCollectionInfo.java
View file @
60464455
...
@@ -52,7 +52,7 @@ public class BarrageCollectionInfo implements Serializable {
...
@@ -52,7 +52,7 @@ public class BarrageCollectionInfo implements Serializable {
* 任务执行状态
* 任务执行状态
*/
*/
@JsonProperty
(
value
=
"status"
)
@JsonProperty
(
value
=
"status"
)
@JsonDeserialize
(
con
tentUsing
=
BarrageStatusEnumJsonHandler
.
class
)
@JsonDeserialize
(
con
verter
=
BarrageStatusEnumJsonHandler
.
class
)
private
BarrageStatusEnums
status
;
private
BarrageStatusEnums
status
;
/**
/**
* 直播间平台
* 直播间平台
...
@@ -69,4 +69,9 @@ public class BarrageCollectionInfo implements Serializable {
...
@@ -69,4 +69,9 @@ public class BarrageCollectionInfo implements Serializable {
*/
*/
@JsonProperty
(
value
=
"collectionCount"
)
@JsonProperty
(
value
=
"collectionCount"
)
private
int
collectionCount
;
private
int
collectionCount
;
/**
* 任务的开启状态
*/
@JsonProperty
(
value
=
"start"
)
private
boolean
start
;
}
}
barrage-crawler-server/src/main/java/com/zhiweidata/automatictest/barragecrawlerserver/jsonhandler/BarrageStatusEnumJsonHandler.java
View file @
60464455
package
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
jsonhandler
;
package
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
jsonhandler
;
import
com.fasterxml.jackson.
core.JsonParser
;
import
com.fasterxml.jackson.
databind.JavaType
;
import
com.fasterxml.jackson.databind.
DeserializationContext
;
import
com.fasterxml.jackson.databind.
type.TypeFactory
;
import
com.fasterxml.jackson.databind.
JsonDeserializ
er
;
import
com.fasterxml.jackson.databind.
util.Convert
er
;
import
com.zhiweidata.automatictest.barragecrawlerserver.enums.BarrageStatusEnums
;
import
com.zhiweidata.automatictest.barragecrawlerserver.enums.BarrageStatusEnums
;
import
java.io.IOException
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.annotations.Nullable
;
/**
/**
* 枚举 BarrageStatusEnums 的json转换器
*
* @author aszswaz
* @author aszswaz
* @createTime 2021-09-18 11:44:33
* @createTime 2021-09-18 11:44:33
* @ide IntelliJ IDEA
* @ide IntelliJ IDEA
*/
*/
@SuppressWarnings
(
"JavaDoc"
)
@SuppressWarnings
(
"JavaDoc"
)
public
class
BarrageStatusEnumJsonHandler
extends
JsonDeserializer
<
BarrageStatusEnums
>
{
public
class
BarrageStatusEnumJsonHandler
implements
Converter
<
String
,
BarrageStatusEnums
>
{
@Nullable
@Override
@Override
public
BarrageStatusEnums
deserialize
(
@NotNull
JsonParser
jsonParser
,
DeserializationContext
deserializationContext
)
throws
IOException
{
public
BarrageStatusEnums
convert
(
String
value
)
{
String
value
=
jsonParser
.
getValueAsString
();
return
BarrageStatusEnums
.
getInstance
(
value
);
return
BarrageStatusEnums
.
getInstance
(
value
);
}
}
/**
* 砖砌可处理的类型
*/
@Override
public
JavaType
getInputType
(
@NotNull
TypeFactory
typeFactory
)
{
return
typeFactory
.
constructType
(
String
.
class
);
}
/**
* 转换器输出的类型
*/
@Override
public
JavaType
getOutputType
(
@NotNull
TypeFactory
typeFactory
)
{
return
typeFactory
.
constructType
(
BarrageStatusEnums
.
class
);
}
}
}
barrage-crawler-server/src/main/java/com/zhiweidata/automatictest/barragecrawlerserver/timertask/ExportTaskJob.java
View file @
60464455
...
@@ -3,13 +3,12 @@ package com.zhiweidata.automatictest.barragecrawlerserver.timertask;
...
@@ -3,13 +3,12 @@ package com.zhiweidata.automatictest.barragecrawlerserver.timertask;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.event.SyncReadListener
;
import
com.alibaba.excel.event.SyncReadListener
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.zhiweidata.automatictest.barragecrawlerserver.entity.BarrageCollectionTestTask
;
import
com.zhiweidata.automatictest.barragecrawlerserver.entity.BarrageCollectionInfo
;
import
com.zhiweidata.automatictest.barragecrawlerserver.entity.BarrageCollectionInfo
;
import
com.zhiweidata.automatictest.barragecrawlerserver.entity.BarrageCollectionTestTask
;
import
com.zhiweidata.automatictest.barragecrawlerserver.entity.BarrageExportResult
;
import
com.zhiweidata.automatictest.barragecrawlerserver.entity.BarrageExportResult
;
import
com.zhiweidata.automatictest.barragecrawlerserver.entity.ServerResponseMessage
;
import
com.zhiweidata.automatictest.barragecrawlerserver.entity.ServerResponseMessage
;
import
com.zhiweidata.automatictest.barragecrawlerserver.mapper.BarrageExportResultMapper
;
import
com.zhiweidata.automatictest.barragecrawlerserver.mapper.BarrageExportResultMapper
;
import
com.zhiweidata.automatictest.barragecrawlerserver.mapper.ServerResponseMessageMapper
;
import
com.zhiweidata.automatictest.barragecrawlerserver.mapper.ServerResponseMessageMapper
;
import
com.zhiweidata.automatictest.barragecrawlerserver.util.TimeUtil
;
import
java.io.File
;
import
java.io.File
;
import
java.io.FileOutputStream
;
import
java.io.FileOutputStream
;
import
java.io.IOException
;
import
java.io.IOException
;
...
@@ -28,8 +27,8 @@ import org.apache.ibatis.session.SqlSession;
...
@@ -28,8 +27,8 @@ import org.apache.ibatis.session.SqlSession;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.annotations.NotNull
;
import
org.quartz.DisallowConcurrentExecution
;
import
org.quartz.DisallowConcurrentExecution
;
import
org.quartz.Job
;
import
org.quartz.Job
;
import
org.quartz.JobBuilder
;
import
org.quartz.JobDataMap
;
import
org.quartz.JobDataMap
;
import
org.quartz.JobDetail
;
import
org.quartz.JobExecutionContext
;
import
org.quartz.JobExecutionContext
;
import
org.quartz.SchedulerException
;
import
org.quartz.SchedulerException
;
import
org.quartz.Trigger
;
import
org.quartz.Trigger
;
...
@@ -37,7 +36,9 @@ import org.quartz.TriggerBuilder;
...
@@ -37,7 +36,9 @@ import org.quartz.TriggerBuilder;
import
static
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
config
.
BaseConfig
.
BARRAGE_COLLECTION_TASK_JOB_KEY
;
import
static
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
config
.
BaseConfig
.
BARRAGE_COLLECTION_TASK_JOB_KEY
;
import
static
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
config
.
BaseConfig
.
CACHE_DIR
;
import
static
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
config
.
BaseConfig
.
CACHE_DIR
;
import
static
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
config
.
BaseConfig
.
EXPORT_START_MAX_DELAY
;
import
static
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
config
.
BaseConfig
.
TASK_URL
;
import
static
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
config
.
BaseConfig
.
TASK_URL
;
import
static
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
util
.
TimeUtil
.
randomDay
;
import
static
com
.
zhiweidata
.
automatictest
.
publics
.
BeanContainer
.
HTTP_CLIENT
;
import
static
com
.
zhiweidata
.
automatictest
.
publics
.
BeanContainer
.
HTTP_CLIENT
;
import
static
com
.
zhiweidata
.
automatictest
.
publics
.
BeanContainer
.
SCHEDULER
;
import
static
com
.
zhiweidata
.
automatictest
.
publics
.
BeanContainer
.
SCHEDULER
;
import
static
com
.
zhiweidata
.
automatictest
.
publics
.
BeanContainer
.
SQL_SESSION_FACTORY
;
import
static
com
.
zhiweidata
.
automatictest
.
publics
.
BeanContainer
.
SQL_SESSION_FACTORY
;
...
@@ -57,9 +58,9 @@ import static java.util.Objects.requireNonNull;
...
@@ -57,9 +58,9 @@ import static java.util.Objects.requireNonNull;
@SuppressWarnings
({
"JavaDoc"
,
"GrazieInspection"
})
@SuppressWarnings
({
"JavaDoc"
,
"GrazieInspection"
})
public
class
ExportTaskJob
implements
Job
{
public
class
ExportTaskJob
implements
Job
{
/**
/**
*
作业对象
*
测试任务
*/
*/
private
JobDetail
detail
;
private
BarrageCollectionTestTask
testTask
;
/**
/**
* 1. 使用任务的 name 作为关键词,请求接口,获得对应任务的任务ID
* 1. 使用任务的 name 作为关键词,请求接口,获得对应任务的任务ID
...
@@ -72,9 +73,8 @@ public class ExportTaskJob implements Job {
...
@@ -72,9 +73,8 @@ public class ExportTaskJob implements Job {
public
void
execute
(
JobExecutionContext
context
)
{
public
void
execute
(
JobExecutionContext
context
)
{
try
{
try
{
JobDataMap
jobDataMap
=
requireNonNull
(
context
.
getMergedJobDataMap
());
JobDataMap
jobDataMap
=
requireNonNull
(
context
.
getMergedJobDataMap
());
BarrageCollectionTestTask
collectionTask
=
(
BarrageCollectionTestTask
)
requireNonNull
(
jobDataMap
.
get
(
BARRAGE_COLLECTION_TASK_JOB_KEY
));
this
.
testTask
=
(
BarrageCollectionTestTask
)
requireNonNull
(
jobDataMap
.
get
(
BARRAGE_COLLECTION_TASK_JOB_KEY
));
this
.
detail
=
context
.
getJobDetail
();
this
.
export
();
this
.
export
(
collectionTask
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
log
.
error
(
e
.
getMessage
(),
e
);
}
}
...
@@ -83,8 +83,8 @@ public class ExportTaskJob implements Job {
...
@@ -83,8 +83,8 @@ public class ExportTaskJob implements Job {
/**
/**
* 尝试导出弹幕
* 尝试导出弹幕
*/
*/
public
void
export
(
@NotNull
BarrageCollectionTestTask
collectionTask
)
throws
IOException
,
SchedulerException
{
public
void
export
()
throws
IOException
,
SchedulerException
{
String
url
=
TASK_URL
+
"?limit=20&page=1&name="
+
collection
Task
.
getName
();
String
url
=
TASK_URL
+
"?limit=20&page=1&name="
+
this
.
test
Task
.
getName
();
HttpResponse
response
=
HTTP_CLIENT
.
execute
(
new
HttpGet
(
url
));
HttpResponse
response
=
HTTP_CLIENT
.
execute
(
new
HttpGet
(
url
));
ObjectMapper
jsonMapper
=
new
ObjectMapper
();
ObjectMapper
jsonMapper
=
new
ObjectMapper
();
...
@@ -115,7 +115,7 @@ public class ExportTaskJob implements Job {
...
@@ -115,7 +115,7 @@ public class ExportTaskJob implements Job {
log
.
info
(
responseMessage
.
getMessage
());
log
.
info
(
responseMessage
.
getMessage
());
responseMessage
.
setName
(
collectionInfo
.
getName
());
responseMessage
.
setName
(
collectionInfo
.
getName
());
// 处理409资源冲突
// 处理409资源冲突
this
.
conflict
(
responseMessage
);
if
(
responseMessage
.
getCode
()
!=
409
)
createExportTask
(
this
.
testTask
);
// 保存响应
// 保存响应
this
.
saveResponseMessage
(
responseMessage
);
this
.
saveResponseMessage
(
responseMessage
);
}
else
{
}
else
{
...
@@ -213,11 +213,22 @@ public class ExportTaskJob implements Job {
...
@@ -213,11 +213,22 @@ public class ExportTaskJob implements Job {
/**
/**
* 处理409资源冲突,随机一个时间再导出一次
* 处理409资源冲突,随机一个时间再导出一次
*/
*/
private
void
conflict
(
@NotNull
ServerResponseMessage
responseMessage
)
throws
SchedulerException
{
public
static
void
createExportTask
(
@NotNull
BarrageCollectionTestTask
collectionTestTask
)
throws
SchedulerException
{
if
(
responseMessage
.
getCode
()
!=
409
)
return
;
Class
<
ExportTaskJob
>
taskJobClass
=
ExportTaskJob
.
class
;
JobBuilder
jobBuilder
=
JobBuilder
.
newJob
(
taskJobClass
);
String
name
=
collectionTestTask
.
getName
(),
group
=
taskJobClass
.
getSimpleName
();
jobBuilder
.
withIdentity
(
name
,
group
);
jobBuilder
.
withDescription
(
"弹幕导出,以及导出的excel文件的分析"
);
JobDataMap
dataMap
=
new
JobDataMap
();
dataMap
.
put
(
BARRAGE_COLLECTION_TASK_JOB_KEY
,
collectionTestTask
);
jobBuilder
.
usingJobData
(
dataMap
);
TriggerBuilder
<
Trigger
>
triggerBuilder
=
TriggerBuilder
.
newTrigger
();
TriggerBuilder
<
Trigger
>
triggerBuilder
=
TriggerBuilder
.
newTrigger
();
triggerBuilder
.
withDescription
(
"导出弹幕测试"
);
triggerBuilder
.
withIdentity
(
name
,
group
);
triggerBuilder
.
startAt
(
TimeUtil
.
randomDay
(
2
));
triggerBuilder
.
withDescription
(
"弹幕导出,以及导出的excel文件的分析"
);
SCHEDULER
.
scheduleJob
(
this
.
detail
,
triggerBuilder
.
build
());
// 在未来 N 天内,随机一个时间启动弹幕的导出测试任务
triggerBuilder
.
startAt
(
randomDay
(
EXPORT_START_MAX_DELAY
));
SCHEDULER
.
scheduleJob
(
jobBuilder
.
build
(),
triggerBuilder
.
build
());
}
}
}
}
barrage-crawler-server/src/main/java/com/zhiweidata/automatictest/barragecrawlerserver/timertask/createtasks/BiliBiliCreateTaskJob.java
View file @
60464455
...
@@ -9,6 +9,7 @@ import lombok.extern.slf4j.Slf4j;
...
@@ -9,6 +9,7 @@ import lombok.extern.slf4j.Slf4j;
import
org.quartz.DisallowConcurrentExecution
;
import
org.quartz.DisallowConcurrentExecution
;
import
org.quartz.JobExecutionContext
;
import
org.quartz.JobExecutionContext
;
import
static
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
timertask
.
ExportTaskJob
.
createExportTask
;
import
static
java
.
util
.
Objects
.
nonNull
;
import
static
java
.
util
.
Objects
.
nonNull
;
import
static
java
.
util
.
Objects
.
requireNonNull
;
import
static
java
.
util
.
Objects
.
requireNonNull
;
...
@@ -41,7 +42,7 @@ public class BiliBiliCreateTaskJob extends CreateTaskJob {
...
@@ -41,7 +42,7 @@ public class BiliBiliCreateTaskJob extends CreateTaskJob {
try
{
try
{
Map
<?,
?>
roomMap
=
(
Map
<?,
?>)
room
;
Map
<?,
?>
roomMap
=
(
Map
<?,
?>)
room
;
BarrageCollectionTestTask
collectionTask
=
BiliBiliCreateTaskJob
.
super
.
createCollectionTask
(
baseUrl
+
roomMap
.
get
(
"link"
));
BarrageCollectionTestTask
collectionTask
=
BiliBiliCreateTaskJob
.
super
.
createCollectionTask
(
baseUrl
+
roomMap
.
get
(
"link"
));
if
(
nonNull
(
collectionTask
))
BiliBiliCreateTaskJob
.
super
.
createExportTask
(
collectionTask
);
if
(
nonNull
(
collectionTask
))
createExportTask
(
collectionTask
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
log
.
error
(
e
.
getMessage
(),
e
);
}
}
...
...
barrage-crawler-server/src/main/java/com/zhiweidata/automatictest/barragecrawlerserver/timertask/createtasks/CreateTaskJob.java
View file @
60464455
...
@@ -3,10 +3,8 @@ package com.zhiweidata.automatictest.barragecrawlerserver.timertask.createtasks;
...
@@ -3,10 +3,8 @@ package com.zhiweidata.automatictest.barragecrawlerserver.timertask.createtasks;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.zhiweidata.automatictest.barragecrawlerserver.entity.BarrageCollectionTestTask
;
import
com.zhiweidata.automatictest.barragecrawlerserver.entity.BarrageCollectionTestTask
;
import
com.zhiweidata.automatictest.barragecrawlerserver.entity.ServerResponseMessage
;
import
com.zhiweidata.automatictest.barragecrawlerserver.entity.ServerResponseMessage
;
import
com.zhiweidata.automatictest.barragecrawlerserver.timertask.ExportTaskJob
;
import
com.zhiweidata.automatictest.barragecrawlerserver.mapper.BarrageCollectionTestTaskMapper
;
import
com.zhiweidata.automatictest.barragecrawlerserver.mapper.BarrageCollectionTestTaskMapper
;
import
com.zhiweidata.automatictest.barragecrawlerserver.mapper.ServerResponseMessageMapper
;
import
com.zhiweidata.automatictest.barragecrawlerserver.mapper.ServerResponseMessageMapper
;
import
com.zhiweidata.automatictest.barragecrawlerserver.util.TimeUtil
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.util.Set
;
import
java.util.Set
;
import
java.util.UUID
;
import
java.util.UUID
;
...
@@ -20,21 +18,18 @@ import org.jetbrains.annotations.NotNull;
...
@@ -20,21 +18,18 @@ import org.jetbrains.annotations.NotNull;
import
org.jetbrains.annotations.Nullable
;
import
org.jetbrains.annotations.Nullable
;
import
org.quartz.Job
;
import
org.quartz.Job
;
import
org.quartz.JobBuilder
;
import
org.quartz.JobBuilder
;
import
org.quartz.JobDataMap
;
import
org.quartz.SchedulerException
;
import
org.quartz.SchedulerException
;
import
org.quartz.Trigger
;
import
org.quartz.Trigger
;
import
org.quartz.TriggerBuilder
;
import
org.quartz.TriggerBuilder
;
import
static
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
config
.
BaseConfig
.
BARRAGE_COLLECTION_TASK_JOB_KEY
;
import
static
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
config
.
BaseConfig
.
EXPORT_START_MAX_DELAY
;
import
static
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
config
.
BaseConfig
.
TASK_URL
;
import
static
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
config
.
BaseConfig
.
TASK_URL
;
import
static
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
util
.
TimeUtil
.
random
Day
;
import
static
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
util
.
TimeUtil
.
random
Hour
;
import
static
com
.
zhiweidata
.
automatictest
.
publics
.
BeanContainer
.
HTTP_CLIENT
;
import
static
com
.
zhiweidata
.
automatictest
.
publics
.
BeanContainer
.
HTTP_CLIENT
;
import
static
com
.
zhiweidata
.
automatictest
.
publics
.
BeanContainer
.
SCHEDULER
;
import
static
com
.
zhiweidata
.
automatictest
.
publics
.
BeanContainer
.
SCHEDULER
;
import
static
com
.
zhiweidata
.
automatictest
.
publics
.
BeanContainer
.
SQL_SESSION_FACTORY
;
import
static
com
.
zhiweidata
.
automatictest
.
publics
.
BeanContainer
.
SQL_SESSION_FACTORY
;
import
static
com
.
zhiweidata
.
automatictest
.
publics
.
BeanContainer
.
STANDARD_DATE_FORMAT
;
import
static
com
.
zhiweidata
.
automatictest
.
publics
.
BeanContainer
.
STANDARD_DATE_FORMAT
;
import
static
java
.
util
.
Objects
.
nonNull
;
import
static
java
.
util
.
Objects
.
nonNull
;
import
static
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
util
.
TimeUtil
.
randomHour
;
import
static
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
timertask
.
ExportTaskJob
.
createExportTask
;
/**
/**
* @author aszswaz
* @author aszswaz
...
@@ -68,7 +63,7 @@ public abstract class CreateTaskJob implements Job {
...
@@ -68,7 +63,7 @@ public abstract class CreateTaskJob implements Job {
liveUrls
.
forEach
(
liveUrl
->
{
liveUrls
.
forEach
(
liveUrl
->
{
try
{
try
{
BarrageCollectionTestTask
collectionTask
=
this
.
createCollectionTask
(
liveUrl
);
BarrageCollectionTestTask
collectionTask
=
this
.
createCollectionTask
(
liveUrl
);
if
(
nonNull
(
collectionTask
))
this
.
createExportTask
(
collectionTask
);
if
(
nonNull
(
collectionTask
))
createExportTask
(
collectionTask
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
log
.
error
(
e
.
getMessage
(),
e
);
}
}
...
@@ -102,26 +97,4 @@ public abstract class CreateTaskJob implements Job {
...
@@ -102,26 +97,4 @@ public abstract class CreateTaskJob implements Job {
}
}
return
responseMessage
.
getCode
()
!=
200
?
null
:
collectionTask
;
return
responseMessage
.
getCode
()
!=
200
?
null
:
collectionTask
;
}
}
/**
* 创建定时导出任务
*/
protected
final
void
createExportTask
(
@NotNull
BarrageCollectionTestTask
collectionTask
)
throws
SchedulerException
{
Class
<
ExportTaskJob
>
taskJobClass
=
ExportTaskJob
.
class
;
JobBuilder
jobBuilder
=
JobBuilder
.
newJob
(
taskJobClass
);
String
name
=
collectionTask
.
getName
(),
group
=
taskJobClass
.
getSimpleName
();
jobBuilder
.
withIdentity
(
name
,
group
);
jobBuilder
.
withDescription
(
"弹幕导出,以及导出的excel文件的分析"
);
JobDataMap
dataMap
=
new
JobDataMap
();
dataMap
.
put
(
BARRAGE_COLLECTION_TASK_JOB_KEY
,
collectionTask
);
jobBuilder
.
usingJobData
(
dataMap
);
TriggerBuilder
<
Trigger
>
triggerBuilder
=
TriggerBuilder
.
newTrigger
();
triggerBuilder
.
withIdentity
(
name
,
group
);
triggerBuilder
.
withDescription
(
"弹幕导出,以及导出的excel文件的分析"
);
// 在未来 N 天内,随机一个时间启动弹幕的导出测试任务
triggerBuilder
.
startAt
(
randomDay
(
EXPORT_START_MAX_DELAY
));
SCHEDULER
.
scheduleJob
(
jobBuilder
.
build
(),
triggerBuilder
.
build
());
}
}
}
barrage-crawler-server/src/test/java/com/zhiweidata/automatictest/barragecrawlerserver/exporttasks/ExportTaskJobTest.java
View file @
60464455
package
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
exporttasks
;
package
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
exporttasks
;
import
com.zhiweidata.automatictest.barragecrawlerserver.entity.BarrageCollectionTestTask
;
import
com.zhiweidata.automatictest.barragecrawlerserver.entity.BarrageCollectionTestTask
;
import
java.io.IOException
;
import
com.zhiweidata.automatictest.barragecrawlerserver.timertask.ExportTaskJob
;
import
org.quartz.JobBuilder
;
import
org.quartz.JobDataMap
;
import
org.quartz.SchedulerException
;
import
org.quartz.SchedulerException
;
import
org.quartz.Trigger
;
import
org.quartz.TriggerBuilder
;
import
static
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
config
.
BaseConfig
.
BARRAGE_COLLECTION_TASK_JOB_KEY
;
import
static
com
.
zhiweidata
.
automatictest
.
publics
.
BeanContainer
.
SCHEDULER
;
import
static
com
.
zhiweidata
.
automatictest
.
publics
.
BeanContainer
.
SCHEDULER
;
/**
/**
...
@@ -14,11 +19,20 @@ import static com.zhiweidata.automatictest.publics.BeanContainer.SCHEDULER;
...
@@ -14,11 +19,20 @@ import static com.zhiweidata.automatictest.publics.BeanContainer.SCHEDULER;
@SuppressWarnings
(
"JavaDoc"
)
@SuppressWarnings
(
"JavaDoc"
)
class
ExportTaskJobTest
{
class
ExportTaskJobTest
{
public
static
void
main
(
String
[]
args
)
throws
SchedulerException
,
I
O
Exception
{
public
static
void
main
(
String
[]
args
)
throws
SchedulerException
,
I
nterrupted
Exception
{
BarrageCollectionTestTask
collectionTask
=
new
BarrageCollectionTestTask
(
BarrageCollectionTestTask
collectionTask
=
new
BarrageCollectionTestTask
(
"https://live.bilibili.com/
12265?hotRank=0"
,
"62aae6a3-e563-4f24-9e3a-135c6e74a8ac
"
"https://live.bilibili.com/
21591544?hotRank=0"
,
"9a337c17-f867-4ffb-bf7a-6437d454426e
"
);
);
JobBuilder
jobBuilder
=
JobBuilder
.
newJob
(
ExportTaskJob
.
class
);
JobDataMap
dataMap
=
new
JobDataMap
();
dataMap
.
put
(
BARRAGE_COLLECTION_TASK_JOB_KEY
,
collectionTask
);
jobBuilder
.
setJobData
(
dataMap
);
TriggerBuilder
<
Trigger
>
triggerBuilder
=
TriggerBuilder
.
newTrigger
();
triggerBuilder
.
startNow
();
SCHEDULER
.
scheduleJob
(
jobBuilder
.
build
(),
triggerBuilder
.
build
());
Thread
.
sleep
(
100
);
SCHEDULER
.
shutdown
(
true
);
SCHEDULER
.
shutdown
(
true
);
}
}
}
}
\ No newline at end of file
start.sh
View file @
60464455
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
name
=
"automatic-test"
name
=
"automatic-test"
alias
docker_local
=
"docker -H 192.168.0.119"
alias
docker_local
=
"docker -H 192.168.0.119"
if
mvn clean package
-Dmaven
.test.skip
=
true
;
then
if
mvn clean package
-Dmaven
.test.skip
=
true
-P
test
;
then
docker_local container stop
${
name
}
docker_local container stop
${
name
}
docker_local container rm
${
name
}
docker_local container rm
${
name
}
docker_local image rm
${
name
}
docker_local image rm
${
name
}
...
...
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