Subversion Repositories SmartDukaan

Rev

Rev 18333 | Rev 18335 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 18333 Rev 18334
Line 1658... Line 1658...
1658
    def getRetryUser(self,projectId,failback=True):
1658
    def getRetryUser(self,projectId,failback=True):
1659
        status = "retry"
1659
        status = "retry"
1660
        user = session.query(UserCrmCallingData).filter_by(status=status,project_id=projectId).filter(UserCrmCallingData.next_call_time<=datetime.now()).order_by(UserCrmCallingData.next_call_time).with_lockmode("update").first()
1660
        user = session.query(UserCrmCallingData).filter_by(status=status,project_id=projectId).filter(UserCrmCallingData.next_call_time<=datetime.now()).order_by(UserCrmCallingData.next_call_time).with_lockmode("update").first()
1661
        
1661
        
1662
        if user is not None:
1662
        if user is not None:
1663
            lgr.info( "getRetryRetailer " + str(user.id))
1663
            lgr.info( "getRetryUser " + str(user.id))
1664
        else:
1664
        else:
1665
            if failback:
1665
            if failback:
1666
                user = self.getNewUser(False)
1666
                user = self.getNewUser(projectId,False)
1667
                return user
1667
                return user
1668
            else:
1668
            else:
1669
                return None
1669
                return None
1670
        return user
1670
        return user
1671
    
1671
    
1672
    
1672
    
1673
    def getNewUser(self,projectId,failback=True):
1673
    def getNewUser(self,projectId,failback=True):
1674
            retry = True
-
 
1675
            user = None 
1674
            user = None 
1676
            try:
1675
            try:
1677
                while(retry):
1676
                user = session.query(UserCrmCallingData).filter_by(project_id=projectId).filter(or_(UserCrmCallingData.next_call_time<=datetime.now(),UserCrmCallingData.status=='new')).filter(UserCrmCallingData.pincode_servicable==True).filter(UserCrmCallingData.user_available==0).filter(UserCrmCallingData.contact1!=None).order_by(UserCrmCallingData.next_call_time).order_by(UserCrmCallingData.id).with_lockmode("update").first()
-
 
1677
                if user is None:
-
 
1678
                    insertUserCrmData(projectId)
1678
                    user = session.query(UserCrmCallingData).filter_by(project_id=projectId).filter(or_(UserCrmCallingData.next_call_time<=datetime.now(),UserCrmCallingData.status=='new')).filter(UserCrmCallingData.pincode_servicable==True).filter(UserCrmCallingData.user_available==0).filter(UserCrmCallingData.contact1!=None).order_by(UserCrmCallingData.next_call_time).order_by(UserCrmCallingData.id).with_lockmode("update").first()
1679
                    user = session.query(UserCrmCallingData).filter_by(project_id=projectId).filter(or_(UserCrmCallingData.next_call_time<=datetime.now(),UserCrmCallingData.status=='new')).filter(UserCrmCallingData.pincode_servicable==True).filter(UserCrmCallingData.user_available==0).filter(UserCrmCallingData.contact1!=None).order_by(UserCrmCallingData.next_call_time).order_by(UserCrmCallingData.id).with_lockmode("update").first()
1679
                    if user is None:
1680
                    if user is not None:
-
 
1681
                        lgr.info( "getNewUser " + str(user.id))
-
 
1682
                    else:
-
 
1683
                        if failback:
1680
                        insertUserCrmData(projectId)
1684
                            user = self.getRetryUser(projectId,False)
1681
                        user = session.query(UserCrmCallingData).filter_by(project_id=projectId).filter(or_(UserCrmCallingData.next_call_time<=datetime.now(),UserCrmCallingData.status=='new')).filter(UserCrmCallingData.pincode_servicable==True).filter(UserCrmCallingData.user_available==0).filter(UserCrmCallingData.contact1!=None).order_by(UserCrmCallingData.next_call_time).order_by(UserCrmCallingData.id).with_lockmode("update").first()
1685
                            return user
1682
                    retry=False
1686
                        else:
-
 
1687
                            return None
1683
            except:
1688
            except:
1684
                print traceback.print_exc()
1689
                print traceback.print_exc()
1685
            return user    
1690
            return user    
1686
        
1691
        
1687
    def on_post(self, req, resp):
1692
    def on_post(self, req, resp):