feat(approval): add task workflow and waiver decisions
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import threading
|
||||
from collections.abc import AsyncIterator
|
||||
from contextlib import asynccontextmanager
|
||||
from logging import Logger
|
||||
import threading
|
||||
|
||||
from fastapi import FastAPI
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
@@ -16,9 +16,9 @@ from app.db.session import get_session_factory
|
||||
from app.middleware.logging import AccessLogMiddleware
|
||||
from app.schemas.common import RootStatusRead
|
||||
from app.services.agent_foundation import prepare_agent_foundation
|
||||
from app.services.approval_task_scheduler import approval_task_scheduler
|
||||
from app.services.digital_employee_reminder_scheduler import digital_employee_reminder_scheduler
|
||||
from app.services.employee import prepare_employee_directory
|
||||
from app.services.employee import EmployeeService
|
||||
from app.services.employee import EmployeeService, prepare_employee_directory
|
||||
from app.services.employee_profile_scheduler import employee_profile_scheduler
|
||||
from app.services.finance_dashboard_scheduler import finance_dashboard_scheduler
|
||||
from app.services.finance_report_scheduler import finance_report_scheduler
|
||||
@@ -34,7 +34,11 @@ from app.services.user_session_metrics import UserSessionMetricService
|
||||
def _effective_server_workers(settings: object) -> int:
|
||||
server_workers = getattr(settings, "server_workers", None)
|
||||
web_concurrency = getattr(settings, "web_concurrency", None)
|
||||
workers = web_concurrency if int(server_workers or 1) <= 1 and web_concurrency else server_workers
|
||||
workers = (
|
||||
web_concurrency
|
||||
if int(server_workers or 1) <= 1 and web_concurrency
|
||||
else server_workers
|
||||
)
|
||||
try:
|
||||
return max(1, int(workers or 1))
|
||||
except (TypeError, ValueError):
|
||||
@@ -100,6 +104,7 @@ async def lifespan(_: FastAPI) -> AsyncIterator[None]:
|
||||
schedulers_started = _should_start_background_schedulers(settings)
|
||||
if schedulers_started:
|
||||
knowledge_index_scheduler.start()
|
||||
approval_task_scheduler.start()
|
||||
finance_dashboard_scheduler.start()
|
||||
employee_profile_scheduler.start()
|
||||
digital_employee_reminder_scheduler.start()
|
||||
@@ -118,6 +123,7 @@ async def lifespan(_: FastAPI) -> AsyncIterator[None]:
|
||||
)
|
||||
yield
|
||||
if schedulers_started:
|
||||
approval_task_scheduler.shutdown()
|
||||
finance_report_scheduler.shutdown()
|
||||
digital_employee_reminder_scheduler.shutdown()
|
||||
employee_profile_scheduler.shutdown()
|
||||
|
||||
Reference in New Issue
Block a user