fix: replace deprecated datetime.utcnow() and SQLAlchemy Query.get()
This commit is contained in:
parent
eb06dfc48b
commit
213f03a8e5
@ -373,7 +373,7 @@ async def apply_rebalance(
|
|||||||
db: Session = Depends(get_db),
|
db: Session = Depends(get_db),
|
||||||
):
|
):
|
||||||
"""리밸런싱 결과를 적용하여 거래를 일괄 생성한다."""
|
"""리밸런싱 결과를 적용하여 거래를 일괄 생성한다."""
|
||||||
from datetime import datetime
|
from datetime import datetime, timezone
|
||||||
|
|
||||||
portfolio = _get_portfolio(db, portfolio_id, current_user.id)
|
portfolio = _get_portfolio(db, portfolio_id, current_user.id)
|
||||||
transactions = []
|
transactions = []
|
||||||
@ -387,7 +387,7 @@ async def apply_rebalance(
|
|||||||
tx_type=tx_type,
|
tx_type=tx_type,
|
||||||
quantity=item.quantity,
|
quantity=item.quantity,
|
||||||
price=item.price,
|
price=item.price,
|
||||||
executed_at=datetime.utcnow(),
|
executed_at=datetime.now(timezone.utc),
|
||||||
memo="리밸런싱 적용",
|
memo="리밸런싱 적용",
|
||||||
)
|
)
|
||||||
db.add(transaction)
|
db.add(transaction)
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
"""
|
"""
|
||||||
KJB Signal API endpoints.
|
KJB Signal API endpoints.
|
||||||
"""
|
"""
|
||||||
from datetime import date, datetime
|
from datetime import date, datetime, timezone
|
||||||
from typing import List, Optional
|
from typing import List, Optional
|
||||||
|
|
||||||
from fastapi import APIRouter, Depends, HTTPException, Query
|
from fastapi import APIRouter, Depends, HTTPException, Query
|
||||||
@ -91,7 +91,7 @@ async def execute_signal(
|
|||||||
tx_type=tx_type,
|
tx_type=tx_type,
|
||||||
quantity=data.quantity,
|
quantity=data.quantity,
|
||||||
price=data.price,
|
price=data.price,
|
||||||
executed_at=datetime.utcnow(),
|
executed_at=datetime.now(timezone.utc),
|
||||||
memo=f"KJB signal #{signal.id}: {signal.signal_type.value}",
|
memo=f"KJB signal #{signal.id}: {signal.signal_type.value}",
|
||||||
)
|
)
|
||||||
db.add(transaction)
|
db.add(transaction)
|
||||||
@ -130,7 +130,7 @@ async def execute_signal(
|
|||||||
signal.status = SignalStatus.EXECUTED
|
signal.status = SignalStatus.EXECUTED
|
||||||
signal.executed_price = data.price
|
signal.executed_price = data.price
|
||||||
signal.executed_quantity = data.quantity
|
signal.executed_quantity = data.quantity
|
||||||
signal.executed_at = datetime.utcnow()
|
signal.executed_at = datetime.now(timezone.utc)
|
||||||
|
|
||||||
db.commit()
|
db.commit()
|
||||||
db.refresh(transaction)
|
db.refresh(transaction)
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
"""
|
"""
|
||||||
Background worker for backtest execution.
|
Background worker for backtest execution.
|
||||||
"""
|
"""
|
||||||
from datetime import datetime
|
from datetime import datetime, timezone
|
||||||
from concurrent.futures import ThreadPoolExecutor
|
from concurrent.futures import ThreadPoolExecutor
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
@ -35,7 +35,7 @@ def _run_backtest_job(backtest_id: int) -> None:
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
# Update status to running
|
# Update status to running
|
||||||
backtest = db.query(Backtest).get(backtest_id)
|
backtest = db.get(Backtest, backtest_id)
|
||||||
if not backtest:
|
if not backtest:
|
||||||
logger.error(f"Backtest {backtest_id} not found")
|
logger.error(f"Backtest {backtest_id} not found")
|
||||||
return
|
return
|
||||||
@ -54,7 +54,7 @@ def _run_backtest_job(backtest_id: int) -> None:
|
|||||||
|
|
||||||
# Update status to completed
|
# Update status to completed
|
||||||
backtest.status = BacktestStatus.COMPLETED
|
backtest.status = BacktestStatus.COMPLETED
|
||||||
backtest.completed_at = datetime.utcnow()
|
backtest.completed_at = datetime.now(timezone.utc)
|
||||||
db.commit()
|
db.commit()
|
||||||
logger.info(f"Backtest {backtest_id} completed successfully")
|
logger.info(f"Backtest {backtest_id} completed successfully")
|
||||||
|
|
||||||
@ -63,11 +63,11 @@ def _run_backtest_job(backtest_id: int) -> None:
|
|||||||
|
|
||||||
# Update status to failed
|
# Update status to failed
|
||||||
try:
|
try:
|
||||||
backtest = db.query(Backtest).get(backtest_id)
|
backtest = db.get(Backtest, backtest_id)
|
||||||
if backtest:
|
if backtest:
|
||||||
backtest.status = BacktestStatus.FAILED
|
backtest.status = BacktestStatus.FAILED
|
||||||
backtest.error_message = str(e)[:1000] # Limit error message length
|
backtest.error_message = str(e)[:1000] # Limit error message length
|
||||||
backtest.completed_at = datetime.utcnow()
|
backtest.completed_at = datetime.now(timezone.utc)
|
||||||
db.commit()
|
db.commit()
|
||||||
except Exception as commit_error:
|
except Exception as commit_error:
|
||||||
logger.exception(f"Failed to update backtest status: {commit_error}")
|
logger.exception(f"Failed to update backtest status: {commit_error}")
|
||||||
|
|||||||
@ -4,7 +4,7 @@ Base collector class for data collection jobs.
|
|||||||
import logging
|
import logging
|
||||||
import re
|
import re
|
||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
from datetime import datetime
|
from datetime import datetime, timezone
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
@ -44,7 +44,7 @@ class BaseCollector(ABC):
|
|||||||
self.job_log = JobLog(
|
self.job_log = JobLog(
|
||||||
job_name=self.job_name,
|
job_name=self.job_name,
|
||||||
status="running",
|
status="running",
|
||||||
started_at=datetime.utcnow(),
|
started_at=datetime.now(timezone.utc),
|
||||||
)
|
)
|
||||||
self.db.add(self.job_log)
|
self.db.add(self.job_log)
|
||||||
self.db.commit()
|
self.db.commit()
|
||||||
@ -55,7 +55,7 @@ class BaseCollector(ABC):
|
|||||||
if self.job_log:
|
if self.job_log:
|
||||||
try:
|
try:
|
||||||
self.job_log.status = "success"
|
self.job_log.status = "success"
|
||||||
self.job_log.finished_at = datetime.utcnow()
|
self.job_log.finished_at = datetime.now(timezone.utc)
|
||||||
self.job_log.records_count = records_count
|
self.job_log.records_count = records_count
|
||||||
self.db.commit()
|
self.db.commit()
|
||||||
except Exception:
|
except Exception:
|
||||||
@ -67,7 +67,7 @@ class BaseCollector(ABC):
|
|||||||
if self.job_log:
|
if self.job_log:
|
||||||
try:
|
try:
|
||||||
self.job_log.status = "failed"
|
self.job_log.status = "failed"
|
||||||
self.job_log.finished_at = datetime.utcnow()
|
self.job_log.finished_at = datetime.now(timezone.utc)
|
||||||
self.job_log.error_msg = error_msg
|
self.job_log.error_msg = error_msg
|
||||||
self.db.commit()
|
self.db.commit()
|
||||||
except Exception:
|
except Exception:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user