
    nWi                     f    d dl Z d dlmZ d dlmZ  e j        e          Z e            Zd Z	d Z
dS )    N)AsyncIOScheduler)IntervalTriggerc                     t                               | t          d          ddd           t                               |t          d          d	dd
           t                                            t                              d           dS )u   
    Register scheduled jobs and start the APScheduler.

    Args:
        trade_monitor_func: async function — checks open trades every 30s.
        bot_cycle_func:     async function — runs signal scan every 5 minutes.
       )secondstrade_monitorT
   )triggeridreplace_existingmisfire_grace_time   )minutes	bot_cycle<   z6Scheduler started: trade_monitor (30s), bot_cycle (5m)N)	scheduleradd_jobr   startloggerinfo)trade_monitor_funcbot_cycle_funcs     6/var/www/html/crypto-bot/backend/app/core/scheduler.pystart_schedulerr   
   s     +++     ***     OO
KKHIIIII    c                      t           j        r7t                               d           t                              d           d S d S )NF)waitzScheduler stopped)r   runningshutdownr   r    r   r   stop_schedulerr!   (   sG     )&&&'((((() )r   )loggingapscheduler.schedulers.asyncior   apscheduler.triggers.intervalr   	getLogger__name__r   r   r   r!   r    r   r   <module>r'      s}     ; ; ; ; ; ; 9 9 9 9 9 9		8	$	$	J J J<) ) ) ) )r   