From f8986705288ed37a73684c18aacff55c40867578 Mon Sep 17 00:00:00 2001 From: Pedro de Oliveira Guedes Date: Tue, 18 Jan 2022 13:01:27 -0300 Subject: [PATCH] Starting the queue methods development. --- api/replay/cli.py | 71 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) diff --git a/api/replay/cli.py b/api/replay/cli.py index 5ae9584..56057e2 100644 --- a/api/replay/cli.py +++ b/api/replay/cli.py @@ -429,7 +429,7 @@ class Replay: --- #### Retorna: - --- + -> "ok" caso o método tenha sido executado corretamente. """ try: @@ -437,3 +437,72 @@ class Replay: except: return "ok" + def queue_add (self, job_id: int, params: dict = {}): + """ + ## Queue Add + Este método adiciona um novo "job" à fila de execução. É possível ver o resultado na aba "Fila" presente na interface do Console do Replay. + + --- + #### Parâmetros: + - job_id: Identificador do robô, aplicativo ou serviço que se deve adicionar à fila de execução. + - params: Parâmetros de execução do robô. Ao rodar um robô pela interface do Replay, é aberto um editor de Objetos JSON. Esse parâmetro é basicamente o editor. Deve ser passado um dicionário contendo todos os parâmetros que se quer informar para a execução do robô. + + --- + #### Retorna: + -> "ok" caso a adição à fila tenha ocorrido com sucesso. + """ + + object = json.dumps(params) + + return self.__request_raw_post__(f"/api/v1/queue/add/{job_id}", object) + + def queue_get_data (self, queue_id: int): + """ + ## Queue Get Data + Este método busca informações sobre um "job" presente na fila. + + --- + #### Parâmetros: + - queue_id: Identificador do robô na fila que se quer obter os dados. Para obter esta informação, você pode utilizar o método "replay_env_queue_id()". + + --- + #### Retorna: + -> String emulando um objeto JSON com todos os dados passados ao robô no momento da execução (Editor de Objetos JSON). + """ + + return self.__request_get__(f"/api/v1/queue/getrequest/{queue_id}") + + def queue_get_my_data (self): + """ + ## Queue Get My Data + Este método é uma extensão do método "queue_get_data". Ele elimina a necessidade de se adicionar o identificador do robô na fila. + + --- + #### Parâmetros: + --- + + --- + #### Retorna: + -> String emulando um objeto JSON com todos os dados passados ao robô no momento da execução (Editor de Objetos JSON). + """ + + my_data = self.replay_env_queue_id() + return self.queue_get_data (my_data) + + def queue_get_my_json (self): + """ + ## Queue Get My JSON + Este método é uma extensão do método "queue_get_my_data", mas ele faz com que o objeto seja um dicionário ao invés de uma string. + + --- + #### Parâmetros: + --- + + #### Retorna: + -> Dicionário emulando um objeto JSON com todos os dados passados ao robô no momento da execução (Editor de Objetos JSON). + """ + + str_obj = self.queue_get_my_data() + + return json.loads(str_obj) +