Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
Y
yzg-util
Project
Project
Details
Activity
Releases
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
YZG
yzg-util
Commits
f3a26a55
Commit
f3a26a55
authored
Mar 18, 2021
by
yanzg
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改公式和计算帮助类
parent
0ff51e27
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
14 deletions
+18
-14
YzgMqProcedure.java
...src/main/java/com/yanzuoguang/mq/plan/YzgMqProcedure.java
+18
-14
No files found.
yzg-util-mq/src/main/java/com/yanzuoguang/mq/plan/YzgMqProcedure.java
View file @
f3a26a55
...
...
@@ -11,6 +11,9 @@ import org.springframework.beans.factory.InitializingBean;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 评论模块消息队列处理
*
...
...
@@ -29,14 +32,9 @@ public class YzgMqProcedure implements InitializingBean {
/**
* 默认100天延迟
*/
public
static
final
TimeUnit
[]
YZG_MQ_SYSTEM_QUEUE_PLAN_TIME
=
new
TimeUnit
[]{
new
TimeUnit
(
"Second"
,
1000
),
new
TimeUnit
(
"Second:8"
,
1000
*
8
),
new
TimeUnit
(
"Minute"
,
1000
*
60
),
new
TimeUnit
(
"Minute:8"
,
1000
*
60
*
8
),
new
TimeUnit
(
"Hour"
,
1000
*
60
*
60
),
new
TimeUnit
(
"Hour:8"
,
1000
*
60
*
60
*
8
)
};
public
static
final
TimeUnit
YZG_MQ_SYSTEM_QUEUE_PLAN_MIN
=
new
TimeUnit
(
"Second"
,
1000
);
public
static
final
TimeUnit
YZG_MQ_SYSTEM_QUEUE_PLAN_MAX
=
new
TimeUnit
(
"Day"
,
1000
*
60
*
60
*
24
);
public
static
final
List
<
TimeUnit
>
YZG_MQ_SYSTEM_QUEUE_PLAN_TIME
=
new
ArrayList
<>();
/**
* 执行的消息队列
*/
...
...
@@ -61,6 +59,15 @@ public class YzgMqProcedure implements InitializingBean {
public
void
afterPropertiesSet
()
throws
Exception
{
mqService
.
createQueue
(
new
QueueVo
(
YZG_MQ_SYSTEM_QUEUE
));
mqService
.
createQueue
(
new
QueueVo
(
YZG_MQ_SYSTEM_QUEUE_PLAN
));
if
(
YZG_MQ_SYSTEM_QUEUE_PLAN_TIME
.
isEmpty
())
{
long
now
=
YZG_MQ_SYSTEM_QUEUE_PLAN_MIN
.
unit
;
int
count
=
1
;
while
(
now
<
YZG_MQ_SYSTEM_QUEUE_PLAN_MAX
.
unit
)
{
YZG_MQ_SYSTEM_QUEUE_PLAN_TIME
.
add
(
new
TimeUnit
(
String
.
format
(
"Second:%d"
,
count
),
1000
));
count
=
count
*
2
;
now
=
YZG_MQ_SYSTEM_QUEUE_PLAN_MIN
.
unit
*
count
;
}
}
for
(
TimeUnit
item
:
YZG_MQ_SYSTEM_QUEUE_PLAN_TIME
)
{
mqService
.
createQueue
(
new
QueueVo
(
getQueueName
(
item
),
item
.
unit
,
YZG_MQ_SYSTEM_QUEUE_PLAN
));
}
...
...
@@ -83,20 +90,17 @@ public class YzgMqProcedure implements InitializingBean {
* @return
*/
private
TimeUnit
getTimeUnit
(
long
waitTime
)
{
TimeUnit
prevUnit
=
YZG_MQ_SYSTEM_QUEUE_PLAN_
TIME
[
0
]
;
TimeUnit
prevUnit
=
YZG_MQ_SYSTEM_QUEUE_PLAN_
MIN
;
for
(
TimeUnit
timeUnit
:
YZG_MQ_SYSTEM_QUEUE_PLAN_TIME
)
{
// 在时间范围内,则返回大于等待时间的队列
if
(
timeUnit
.
unit
>=
waitTime
)
{
if
(
Math
.
abs
(
waitTime
-
prevUnit
.
unit
)
<
Math
.
abs
(
timeUnit
.
unit
-
waitTime
))
{
return
prevUnit
;
}
return
timeUnit
;
break
;
}
// 上次单位
prevUnit
=
timeUnit
;
}
// 返回最大时间的队列
return
YZG_MQ_SYSTEM_QUEUE_PLAN_TIME
[
YZG_MQ_SYSTEM_QUEUE_PLAN_TIME
.
length
-
1
]
;
return
prevUnit
;
}
/**
...
...
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