yandextank/plugins/DataUploader/client.py
def new_job(
            self,
            task,
            person,
            tank,
            target_host,
            target_port,
            loadscheme=None,
            detailed_time=None,
            notify_list=None,
            trace=False):
        """
        :return: job_nr, upload_token
        :rtype: tuple
        """
        if not notify_list:
            notify_list = []
        data = {
            'task': task,
            'person': person,
            'tank': tank,
            'host': target_host,
            'port': target_port,
            'loadscheme': loadscheme,
            'detailed_time': detailed_time,
            'notify': notify_list
        }

        logger.debug("Job create request: %s", data)
        api_timeouts = self.api_timeouts()
        while True:
            try:
                response = self.__post(
                    "api/job/create.json", data, trace=trace)[0]
                # [{"upload_token": "1864a3b2547d40f19b5012eb038be6f6", "job": 904317}]
                return response['job'], response['upload_token']
            except (self.NotAvailable, self.StoppedFromOnline) as e:
                try:
                    timeout = next(api_timeouts)
                    logger.warn("API error, will retry in %ss..." % timeout)
                    time.sleep(timeout)
                    continue
                except StopIteration:
                    logger.warn('Failed to create job on lunapark')
                    raise self.JobNotCreated(e.message)
            except requests.HTTPError as e:
                raise self.JobNotCreated('Failed to create job on lunapark\n{}'.format(e.response.content))
            except Exception as e:
                logger.warn('Failed to create job on lunapark')
                logger.warn(repr(e), )
                raise self.JobNotCreated()
def new_job(
            self,
            task,
            person,
            tank,
            target_host,
            target_port,
            loadscheme=None,
            detailed_time=None,
            notify_list=None,
            trace=False):
        """
        :return: job_nr, upload_token
        :rtype: tuple
        """
        if not notify_list:
            notify_list = []
        data = {
            'task': task,
            'person': person,
            'tank': tank,
            'host': target_host,
            'port': target_port,
            'loadscheme': loadscheme,
            'detailed_time': detailed_time,
            'notify': notify_list
        }

        logger.debug("Job create request: %s", data)
        api_timeouts = self.api_timeouts()
        while True:
            try:
                response = self.__post(
                    "api/job/create.json", data, trace=trace)[0]
                # [{"upload_token": "1864a3b2547d40f19b5012eb038be6f6", "job": 904317}]
                return response['job'], response['upload_token']
            except (self.NotAvailable, self.StoppedFromOnline) as e:
                try:
                    timeout = next(api_timeouts)
                    logger.warn("API error, will retry in %ss..." % timeout)
                    time.sleep(timeout)
                    continue
                except StopIteration:
                    logger.warn('Failed to create job on lunapark')
                    raise self.JobNotCreated(e.message)
            except requests.HTTPError as e:
                raise self.JobNotCreated('Failed to create job on lunapark\n{}'.format(e.response.content))
            except Exception as e:
                logger.warn('Failed to create job on lunapark')
                logger.warn(repr(e), )
                raise self.JobNotCreated()
def new_job ( self , task , person , tank , target_host , target_port , loadscheme = None , detailed_time = None , notify_list = None , trace = False ) : if not notify_list : notify_list = [ ] data = { 'task' : task , 'person' : person , 'tank' : tank , 'host' : target_host , 'port' : target_port , 'loadscheme' : loadscheme , 'detailed_time' : detailed_time , 'notify' : notify_list } logger . debug ( "Job create request: %s" , data ) api_timeouts = self . api_timeouts ( ) while True : try : response = self . __post ( "api/job/create.json" , data , trace = trace ) [ 0 ] # [{"upload_token": "1864a3b2547d40f19b5012eb038be6f6", "job": 904317}] return response [ 'job' ] , response [ 'upload_token' ] except ( self . NotAvailable , self . StoppedFromOnline ) as e : try : timeout = next ( api_timeouts ) logger . warn ( "API error, will retry in %ss..." % timeout ) time . sleep ( timeout ) continue except StopIteration : logger . warn ( 'Failed to create job on lunapark' ) raise self . JobNotCreated ( e . message ) except requests . HTTPError as e : raise self . JobNotCreated ( 'Failed to create job on lunapark\n{}' . format ( e . response . content ) ) except Exception as e : logger . warn ( 'Failed to create job on lunapark' ) logger . warn ( repr ( e ) , ) raise self . JobNotCreated ( )
:return: job_nr, upload_token
        :rtype: tuple
: return : job_nr upload_token : rtype : tuple