fix: 修复访问tushare接口过快
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -251,3 +251,4 @@ gradle-app.setting
|
|||||||
!.yarn/versions
|
!.yarn/versions
|
||||||
!.yarn/cache
|
!.yarn/cache
|
||||||
nohup.out
|
nohup.out
|
||||||
|
!leopard*/bin
|
||||||
|
|||||||
27
leopard-server/bin/deploy.sh
Normal file
27
leopard-server/bin/deploy.sh
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
sudo rm -rf /tmp/leopard
|
||||||
|
git clone --depth 1 https://gitea.lanyuanxiaoyao.com/lanyuanxiaoyao/leopard.git /tmp/leopard
|
||||||
|
|
||||||
|
docker run \
|
||||||
|
--rm \
|
||||||
|
-v /root/.m2:/root/.m2 \
|
||||||
|
-v /tmp/leopard:/tmp/leopard \
|
||||||
|
-w /tmp/leopard \
|
||||||
|
maven:3.9.11-eclipse-temurin-17-alpine \
|
||||||
|
mvn -pl leopard-server clean package -D skipTests
|
||||||
|
|
||||||
|
docker run \
|
||||||
|
--rm \
|
||||||
|
-v /root/.pnpm-store:/root/.pnpm-store \
|
||||||
|
-v /tmp/leopard:/tmp/leopard \
|
||||||
|
-w /tmp/leopard/leopard-web \
|
||||||
|
guergeiro/pnpm:22-10-alpine \
|
||||||
|
/bin/sh -c "pnpm install && pnpm build"
|
||||||
|
|
||||||
|
sudo chown -R ubuntu:ubuntu /tmp/leopard
|
||||||
|
|
||||||
|
mv /tmp/leopard/leopard-server/target/leopard-server-1.0.0.jar /home/ubuntu/app/leopard-server-1.0.0.jar
|
||||||
|
|
||||||
|
bash /home/ubuntu/app/stop.sh
|
||||||
|
bash /home/ubuntu/app/start.sh
|
||||||
4
leopard-server/bin/restart.sh
Normal file
4
leopard-server/bin/restart.sh
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
/home/ubuntu/app/stop.sh
|
||||||
|
/home/ubuntu/app/start.sh
|
||||||
3
leopard-server/bin/start.sh
Normal file
3
leopard-server/bin/start.sh
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
nohup /home/ubuntu/jdk-17.0.16+8/bin/java -jar /home/ubuntu/app/leopard-server-1.0.0.jar --spring.profiles.active=build --spring.web.resources.static-locations=file:/home/ubuntu/app/web --logging.parent=/home/ubuntu/app > /dev/null 2>&1 &
|
||||||
33
leopard-server/bin/stop.sh
Normal file
33
leopard-server/bin/stop.sh
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
original_command="$0"
|
||||||
|
application_name="/home/ubuntu/app/leopard-server-1.0.0.jar"
|
||||||
|
|
||||||
|
function get_pid() {
|
||||||
|
echo $(ps ef | grep "$application_name" | grep -v grep | awk '{ print $1 }')
|
||||||
|
}
|
||||||
|
|
||||||
|
pid=$(get_pid)
|
||||||
|
|
||||||
|
if [[ -z "$pid" ]]; then
|
||||||
|
echo "Application is already stopped."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Stopping $pid..."
|
||||||
|
kill $pid
|
||||||
|
|
||||||
|
LOOPS=0
|
||||||
|
while (true); do
|
||||||
|
cpid=$(get_pid)
|
||||||
|
if [[ -z "$cpid" ]]; then
|
||||||
|
echo "Oook! cost:$LOOPS"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
LOOPS=$(($LOOPS+1))
|
||||||
|
if [[ $(($LOOPS%15)) -eq 0 ]]; then
|
||||||
|
echo "Wait timeout, try to force kill $pid..."
|
||||||
|
kill -9 $pid
|
||||||
|
fi
|
||||||
|
sleep 1s
|
||||||
|
done
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.lanyuanxiaoyao.leopard.server.service.task;
|
package com.lanyuanxiaoyao.leopard.server.service.task;
|
||||||
|
|
||||||
|
import cn.hutool.core.thread.ThreadUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.lanyuanxiaoyao.leopard.core.entity.Stock;
|
import com.lanyuanxiaoyao.leopard.core.entity.Stock;
|
||||||
@@ -41,14 +42,14 @@ public class CheckDailyNode extends NodeComponent {
|
|||||||
.map(item -> LocalDate.parse(item.get(0), TuShareService.TRADE_FORMAT))
|
.map(item -> LocalDate.parse(item.get(0), TuShareService.TRADE_FORMAT))
|
||||||
.filter(date -> date.isBefore(nowDate) || date.isEqual(nowDate))
|
.filter(date -> date.isBefore(nowDate) || date.isEqual(nowDate))
|
||||||
.toList();
|
.toList();
|
||||||
stocks.parallelStream()
|
stocks.forEach(stock -> {
|
||||||
.forEach(stock -> {
|
|
||||||
if (exchange.equals(stock.getMarket())) {
|
if (exchange.equals(stock.getMarket())) {
|
||||||
var existsTradeDates = dailyService.findDistinctTradeDateByStockId(stock.getId());
|
var existsTradeDates = dailyService.findDistinctTradeDateByStockId(stock.getId());
|
||||||
var missedTradeDates = allTradeDates.stream()
|
var missedTradeDates = allTradeDates.stream()
|
||||||
.filter(date -> date.isAfter(stock.getListedDate()) || date.isEqual(stock.getListedDate()))
|
.filter(date -> date.isAfter(stock.getListedDate()) || date.isEqual(stock.getListedDate()))
|
||||||
.filter(date -> !existsTradeDates.contains(date))
|
.filter(date -> !existsTradeDates.contains(date))
|
||||||
.filter(date -> {
|
.filter(date -> {
|
||||||
|
ThreadUtil.safeSleep(100);
|
||||||
var response = tuShareService.dailyList(date, stock.getCode());
|
var response = tuShareService.dailyList(date, stock.getCode());
|
||||||
return !response.data().items().isEmpty();
|
return !response.data().items().isEmpty();
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user