
    vg	                         d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlZd dlZd dlmZ d d	lmZ d d
lmZ  ej(                  e      Z ed      d        Zd Zd ZddZd Zy)    )StrategyManager)HttpResponse)
NorenApiPy)BrokerAccounts)BrokerAccount)get_userN)PubSub)Broker)shared_taskT)bindc                     t                y)NT)startStrategyForAllUsersrequests    CC:\Janisar\Projects\MarketYanta\Yantra\yantra\trading\views\jobs.pyworkerStartStrategyr      s        c                 B    t        | j                         t        d      S )NDone)r   userr   r   s    r   startStrategyr      s    W\\*r   c                     t        t         j                        }t               }|j                  d| j                  j
                  d      }ddi}|j                  ||       t        d      S )NQOtype	TERMINATEzTerminate initiated)r
   FINVASIAr	   
getQueueIdr   idpublishr   )r   brokerpubsubQueueIddatas        r   	terminater%      sW    FOO$FXFGLLOOC8G;D
NN74 -..r   c                    t        |       }|D ]  } t        j                  d| j                          t	        |       }t        j                  d| j                          |j                          t        j                  d| j                          t        j                  d| j                          |j                          t        j                  d| j                           t        d      S )Nzstrategy master started z strategy master start: initiate zstrategy master end : initiate zstrategy master starting zSymbol Sync completed)	r   loggerinfousernamer   initiatedebugstartr   )r   usersmanagers      r   r   r       s    TNE.t}}o>?!$'6t}}oFG5dmm_EF0@A/?@  /00r   c                 f   t        | j                        }|j                         j                         }t        j                  d| j                         |j                  |j                         t        j                  d| j                         |j                  |j                        }	 |j                  j                  dd      }|r t        j                  d       t        d      S t        j                  d       t        d      S # t        $ r}t        t        |            cY d }~S d }~ww xY w)	NzTest connection startedzTest connection completedNSE2885z&Test connection success {request.user}Successz0Test connection error {request.user} {e.args[0]}error)r   r   
getAccountfirstr'   r+   Connectr   getBrokerObjectConnectionObject
get_quotesr   	Exceptionstr)r   baaccboquotees         r   testConnectionrA   3   s    	w||	$B
--/


!C
LL*7<<8JJsvv
LL,W\\:			CFF	#B	$##..uV<LLAB	**LLKL(( $CF##$s$   +=D	 )D	 		D0D+%D0+D0)N)"trading.Strategies.strategyManagerr   django.httpr   !trading.NorenRestApiPy.api_helperr   trading.modelsr   -trading.Entities.BrokerAccounts.brokerAccountr   userauth.viewsr   pyotploggingtrading.Redis.pubsubr	   trading.Entities.Brokers.brokerr
   celeryr   	getLogger__name__r'   r   r   r%   r   rA    r   r   <module>rP      sc    > $ 8 ) G #   ' 2 			8	$D  /1&$r   