Entenda as diferenças entre Runners Desktop e Runners Background no Python RPA

This is a discussion topic for the original post at Entenda as diferenças entre Runners Desktop e Runners Background - Botcity | Blog

Existem esses dois tipos de runners para se considerar: Runners Desktop (anteriormente chamados de Runners RPA) e Runners Background. E dentro do nosso contexto de Python RPA, podemos dizer que runner é quem gerencia a execução do processo automatizado, preparando o ambiente de execução e monitorando as tarefas realizadas. Entendendo este conceito, vamos agora entender cada um desses tipos de runners.

Os Runners Desktop são utilizados para automatizar tarefas que normalmente seriam executadas por seres humanos do início ao fim e que requerem GUI (Graphical User Interface), ou seja, precisa de uma interação com uma ou mais interfaces gráficas, por exemplo: preenchimento de formulários, interação com sistemas como SAP, TOTVS, entre outros.

Inclusive, um ponto importante de se entender é que, como o Runner Desktop é utilizado para automações a serem feitas no computador da pessoa usuária, só podemos executar um de cada vez, ou teríamos conflitos nos processos da máquina a qual está sendo utilizada.

Os Runners Background são utilizados para construir qualquer tipo de automação que não exija necessariamente interface gráfica. Algumas aplicações de exemplo são: automações WEB em modo headless, crawlers, processamento de dados, gerar relatórios, fazer algum tipo de integração entre sistemas diferentes através de APIs, entre outras.

O destaque, neste caso, é que essas automações são executadas em segundo plano, sem a necessidade de interação humana e com grande potencial de paralelismo.

Para habilitar ou desabilitar a execução em segundo plano no seu projeto, basta você configurar a opção de headless conforme as seguintes linhas de código no início do seu projeto:

Para projetos Java:

public void action(BotExecution botExecution) {
    try {
        // Configure se deve ou não rodar no modo headless
        setHeadless(false);
    }
}

Para projetos Python:

class Bot(WebBot):
    def action(self, execution=None):
        # Configure se deve ou não rodar no modo headless
        self.headless = False

Você também pode encontrar essas orientações em nossa documentação.

Vamos analisar um resumo das características:

Tipos de Runners Requer GUI Execução pode ser feita em segundo plano Permite paralelismo
Runners Desktop
Runners Background

E então, já escolheu qual formato funciona melhor para a sua automação Python RPA?