Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qg-bl-service
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
data-spider
qg-bl-service
Commits
bf1fbe83
Commit
bf1fbe83
authored
Aug 16, 2019
by
data爬虫-冯 军凯
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
每日定时任务改为异步
parent
4660e2d1
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
171 additions
and
4 deletions
+171
-4
pom.xml
pom.xml
+5
-3
RedisConfig.java
...a/cn/quantgroup/qgblservice/config/redis/RedisConfig.java
+142
-0
Constant.java
...ain/java/cn/quantgroup/qgblservice/constant/Constant.java
+4
-0
BlackListImportManagerJob.java
...p/qgblservice/job/blimport/BlackListImportManagerJob.java
+20
-1
No files found.
pom.xml
View file @
bf1fbe83
...
@@ -256,11 +256,13 @@
...
@@ -256,11 +256,13 @@
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
com.quantgroup
</groupId>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
csource-fastfds-client-java
</artifactId>
<artifactId>
spring-boot-starter-redis
</artifactId>
<version>
20180928-Release
</version>
<version>
1.4.6.RELEASE
</version>
</dependency>
</dependency>
<!--SpringBoot, Cloud基础的依赖-->
<!--SpringBoot, Cloud基础的依赖-->
<dependency>
<dependency>
<groupId>
cn.quantgroup
</groupId>
<groupId>
cn.quantgroup
</groupId>
...
...
src/main/java/cn/quantgroup/qgblservice/config/redis/RedisConfig.java
0 → 100644
View file @
bf1fbe83
package
cn
.
quantgroup
.
qgblservice
.
config
.
redis
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.cache.CacheManager
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.data.redis.cache.RedisCacheManager
;
import
org.springframework.data.redis.connection.RedisConnectionFactory
;
import
org.springframework.data.redis.connection.RedisNode
;
import
org.springframework.data.redis.connection.RedisSentinelConfiguration
;
import
org.springframework.data.redis.connection.jedis.JedisConnectionFactory
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
;
import
org.springframework.data.redis.serializer.StringRedisSerializer
;
import
redis.clients.jedis.JedisPoolConfig
;
import
java.util.HashSet
;
import
java.util.Set
;
/**
* @Author fengjunkai
* @Date 2019-08-16 19:01
*/
@Configuration
public
class
RedisConfig
{
@Value
(
"${blacklist.data.redis.defaultExpiration}"
)
private
Long
defaultExpiration
;
@Value
(
"${blacklist.redis.master.host}"
)
private
String
masterHost
;
@Value
(
"${blacklist.redis.master.port}"
)
private
int
masterPort
;
@Value
(
"${blacklist.redis.master.name}"
)
private
String
masterName
;
@Value
(
"${blacklist.redis.sentinel1.host}"
)
private
String
sentinel1Host
;
@Value
(
"${blacklist.redis.sentinel1.port}"
)
private
int
sentinel1port
;
@Value
(
"${blacklist.redis.sentinel2.host}"
)
private
String
sentinel2Host
;
@Value
(
"${blacklist.redis.sentinel2.port}"
)
private
int
sentinel2port
;
@Value
(
"${blacklist.redis.sentinel3.host}"
)
private
String
sentinel3Host
;
@Value
(
"${blacklist.redis.sentinel3.port}"
)
private
int
sentinel3port
;
private
RedisConnectionFactory
generateDevConnectionFactory
()
{
JedisConnectionFactory
factory
=
new
JedisConnectionFactory
();
factory
.
setHostName
(
masterHost
);
factory
.
setPort
(
masterPort
);
factory
.
setUsePool
(
true
);
factory
.
setConvertPipelineAndTxResults
(
true
);
JedisPoolConfig
poolConfig
=
generatePoolConfig
();
factory
.
setPoolConfig
(
poolConfig
);
factory
.
afterPropertiesSet
();
return
factory
;
}
private
RedisConnectionFactory
generateReleaseConnectionFactory
()
{
RedisSentinelConfiguration
sentinelConfiguration
=
new
RedisSentinelConfiguration
();
RedisNode
master
=
new
RedisNode
(
masterHost
,
masterPort
);
master
.
setName
(
masterName
);
Set
<
RedisNode
>
sentinels
=
new
HashSet
<>();
RedisNode
sentinel1
=
new
RedisNode
(
sentinel1Host
,
sentinel1port
);
RedisNode
sentinel2
=
new
RedisNode
(
sentinel2Host
,
sentinel2port
);
RedisNode
sentinel3
=
new
RedisNode
(
sentinel3Host
,
sentinel3port
);
sentinels
.
add
(
sentinel1
);
sentinels
.
add
(
sentinel2
);
sentinels
.
add
(
sentinel3
);
sentinelConfiguration
.
setMaster
(
master
);
sentinelConfiguration
.
setSentinels
(
sentinels
);
JedisPoolConfig
poolConfig
=
generatePoolConfig
();
JedisConnectionFactory
factory
=
new
JedisConnectionFactory
(
sentinelConfiguration
,
poolConfig
);
factory
.
setHostName
(
masterHost
);
factory
.
setPort
(
masterPort
);
factory
.
setTimeout
(
10000
);
factory
.
setUsePool
(
true
);
factory
.
setConvertPipelineAndTxResults
(
true
);
factory
.
afterPropertiesSet
();
return
factory
;
}
private
JedisPoolConfig
generatePoolConfig
()
{
JedisPoolConfig
poolConfig
=
new
JedisPoolConfig
();
poolConfig
.
setMinIdle
(
20
);
poolConfig
.
setMaxTotal
(
300
);
poolConfig
.
setMaxWaitMillis
(
5000
);
poolConfig
.
setTestOnBorrow
(
true
);
return
poolConfig
;
}
@Bean
(
name
=
"redisConnectionFactory"
)
RedisConnectionFactory
factory
()
{
if
(
StringUtils
.
isEmpty
(
masterName
))
{
return
generateDevConnectionFactory
();
}
else
{
return
generateReleaseConnectionFactory
();
}
}
@Bean
(
name
=
"redisTemplate"
)
public
RedisTemplate
<
String
,
Object
>
redisTemplate
(
RedisConnectionFactory
factory
)
{
final
RedisTemplate
<
String
,
Object
>
template
=
new
RedisTemplate
<>();
StringRedisSerializer
stringRedisSerializer
=
new
StringRedisSerializer
();
JdkSerializationRedisSerializer
jdkSerializationRedisSerializer
=
new
JdkSerializationRedisSerializer
();
template
.
setEnableTransactionSupport
(
false
);
template
.
setKeySerializer
(
stringRedisSerializer
);
template
.
setHashKeySerializer
(
stringRedisSerializer
);
template
.
setValueSerializer
(
jdkSerializationRedisSerializer
);
template
.
setDefaultSerializer
(
jdkSerializationRedisSerializer
);
template
.
setConnectionFactory
(
factory
);
return
template
;
}
@Bean
(
name
=
"stringRedisTemplate"
)
public
RedisTemplate
<
String
,
String
>
stringRedisTemplate
(
RedisConnectionFactory
factory
)
{
final
RedisTemplate
<
String
,
String
>
template
=
new
RedisTemplate
<>();
StringRedisSerializer
stringRedisSerializer
=
new
StringRedisSerializer
();
template
.
setEnableTransactionSupport
(
false
);
template
.
setKeySerializer
(
stringRedisSerializer
);
template
.
setHashKeySerializer
(
stringRedisSerializer
);
template
.
setValueSerializer
(
stringRedisSerializer
);
template
.
setDefaultSerializer
(
stringRedisSerializer
);
template
.
setConnectionFactory
(
factory
);
return
template
;
}
@Bean
(
name
=
"cacheManager"
)
public
CacheManager
cacheManager
(
RedisTemplate
<
String
,
Object
>
redisTemplate
)
{
RedisCacheManager
cacheManager
=
new
RedisCacheManager
(
redisTemplate
);
cacheManager
.
setDefaultExpiration
(
defaultExpiration
);
cacheManager
.
setUsePrefix
(
true
);
return
cacheManager
;
}
}
src/main/java/cn/quantgroup/qgblservice/constant/Constant.java
View file @
bf1fbe83
...
@@ -58,4 +58,8 @@ public class Constant {
...
@@ -58,4 +58,8 @@ public class Constant {
public
static
final
String
YYYY_MM_DD_HH_MM_SS
=
"yyyy-MM-dd HH:mm:ss"
;
public
static
final
String
YYYY_MM_DD_HH_MM_SS
=
"yyyy-MM-dd HH:mm:ss"
;
}
}
public
static
class
REDIS_KEY
{
public
static
final
String
BLACK_LSIT_JOB_INCREMENT_KEY
=
"BLACK_LSIT_JOB_INCREMENT_KEY"
;
}
}
}
src/main/java/cn/quantgroup/qgblservice/job/blimport/BlackListImportManagerJob.java
View file @
bf1fbe83
package
cn
.
quantgroup
.
qgblservice
.
job
.
blimport
;
package
cn
.
quantgroup
.
qgblservice
.
job
.
blimport
;
import
cn.quantgroup.qgblservice.constant.Constant
;
import
cn.quantgroup.qgblservice.service.IBlackListManagerService
;
import
cn.quantgroup.qgblservice.service.IBlackListManagerService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.util.concurrent.TimeUnit
;
/**
/**
* 量化派黑名单导入整理至新表任务
* 量化派黑名单导入整理至新表任务
*
*
...
@@ -16,6 +20,9 @@ import org.springframework.stereotype.Component;
...
@@ -16,6 +20,9 @@ import org.springframework.stereotype.Component;
@Component
@Component
public
class
BlackListImportManagerJob
{
public
class
BlackListImportManagerJob
{
@Autowired
private
RedisTemplate
<
String
,
String
>
redisTemplate
;
@Autowired
@Autowired
private
IBlackListManagerService
iBlackListManagerService
;
private
IBlackListManagerService
iBlackListManagerService
;
...
@@ -24,7 +31,11 @@ public class BlackListImportManagerJob {
...
@@ -24,7 +31,11 @@ public class BlackListImportManagerJob {
try
{
try
{
if
(
increment
()){
redisTemplate
.
expire
(
Constant
.
REDIS_KEY
.
BLACK_LSIT_JOB_INCREMENT_KEY
,
10
,
TimeUnit
.
SECONDS
);
iBlackListManagerService
.
blackListRealTimeManagerByDay
();
iBlackListManagerService
.
blackListRealTimeManagerByDay
();
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"每天导入近5天逾期(15+)用户黑名单异常"
,
e
);
log
.
error
(
"每天导入近5天逾期(15+)用户黑名单异常"
,
e
);
...
@@ -32,4 +43,12 @@ public class BlackListImportManagerJob {
...
@@ -32,4 +43,12 @@ public class BlackListImportManagerJob {
}
}
public
Boolean
increment
(){
Long
increment
=
redisTemplate
.
opsForValue
().
increment
(
Constant
.
REDIS_KEY
.
BLACK_LSIT_JOB_INCREMENT_KEY
,
1
);
return
increment
<=
1
;
}
}
}
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