Commit be00aa47 authored by 陈涛's avatar 陈涛

修改每小时整点15结算净值

计算净值取上一小时收盘价
parent dc21a972
......@@ -55,7 +55,7 @@ async def create(
trigger="cron",
timezone=pytz.UTC,
hour=time_obj.hour,
minute=time_obj.minute,
minute=15,
args=[data["id"]],
id=job_id,
misfire_grace_time=60 * 60
......
......@@ -31,7 +31,7 @@ async def create(
trigger="cron",
timezone=pytz.UTC,
hour=time_obj.hour,
minute=time_obj.minute,
minute=15,
args=[fund_id],
id=job_id
)
......
......@@ -69,7 +69,7 @@ async def calculate_nav(fund_id, calc_time: datetime.datetime = None, beach_serv
if calc_time:
# mongodb 查询历史数据
hour_price_collect = get_hour_price_collect(app.state.mongodb_manager)
price_data = await get_price(list(amount), calc_time, hour_price_collect)
price_data = await get_price(list(amount), calc_time - datetime.timedelta(hours=1), hour_price_collect)
else:
# redis 查询最新数据
redis_client = get_cmc_price_redis(app.state.redis_manager)
......
......@@ -305,7 +305,7 @@ async def get_price(coin_list, query_time, db_client) -> Dict[str, float]:
cursor = db_client.find({'time': query_time, "symbol": {"$in": coin_list_copy}})
temp_res = await cursor.to_list(length=None)
for item in temp_res:
result_dict[item['symbol']] = item['open']
result_dict[item['symbol']] = item['close']
return result_dict
......
import datetime
import pytz
from exception.db import NotFundError
from model.bill import StakingBill
from schema.fund import FundStatus
......@@ -60,7 +58,7 @@ async def calculate_nav_task(fund_id=None):
from main import app
fund_collect = get_fund_collect(app.state.mongodb_manager)
if fund_id:
await calculate_nav(fund_id)
await calculate_nav(fund_id, calc_time=datetime.datetime.utcnow())
else:
data = fund_collect.find({"status": FundStatus.active})
fund_list = await data.to_list(length=None)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment