Um caso para acompanhar o botão do princípio ao fim
Exemplo Caso ilustrativo: a empresa e os seus dados são inventados para explicar o fluxo.
Imagina uma loja inventada, Hogar Levante, que acabou de instalar o Temu Connector for Odoo e quer que o Odoo volte a ler do zero as categorias de referência da Temu. Quem administra o Odoo abre o menu Temu, entra na ficha da sua instância (reconhece-a pelo campo Name) e prime Queue Reference Cache Sync. O que se segue é o que acontece por dentro, segundo o código do módulo no Odoo 19.

Temu e o botão da sincronização da cache de referências (Odoo 17, 18 e 19). É um esquema feito com código, não uma captura do Odoo.O botão está no ecrã Temu Dashboard nos ramos 17, 18 e 19 do módulo. A vista não lhe impõe qualquer condição: vê-se sempre.

O que o Odoo faz sozinho, sem premir nada
Premir o botão não é o caminho normal. A tarefa agendada Temu Sync Reference Cache é executada a cada cinco minutos e está ativa desde a instalação do módulo. Essa tarefa chega à rotina que vai lendo a fila de categorias: se houver uma fila guardada, continua por ela e, se a fila estiver vazia, parte do ponto de partida (o nível inicial da Temu).
O botão é a exceção: serve para pedir à mão um arranque do zero e para que a tarefa não espere pelo seu próximo turno.
Passo a passo: o que acontece ao premir o botão
- O botão trabalha sobre a ficha aberta. Regista a hora do pedido e deixa a sincronização como pendente.
- Apaga o que tenha ficado de uma execução anterior: a hora de início, a de fim, o erro, o resumo e a marca de sincronização dos dados que não são categorias.
- Reinicia a fila de categorias com um único ponto de partida, esvazia a lista de categorias já visitadas e repõe a zero o contador de processadas.
- Procura a tarefa agendada
Temu Sync Reference Cache. Se existir e estiver desativada, ativa-a, exceto numa base de dados neutralizada, onde a deixa desligada. Se a tarefa não tinha próxima execução ou a tinha no futuro, fixa-a para agora. - Publica o texto do aviso como mensagem no chatter da ficha e mostra uma notificação no ecrã.

Queue Reference Cache Sync. É um esquema feito com código, não uma captura do Odoo.Nada disto lê ainda as categorias da Temu: o botão só prepara o terreno e desperta a tarefa.
Quando a notificação é um aviso
Se tudo correr bem, a notificação é de sucesso. Nos casos seguintes aparece como aviso, e esse aviso fica no ecrã até o fechares:
- Base de dados neutralizada com a tarefa desligada. O botão nunca volta a ligar uma tarefa agendada numa cópia neutralizada. O pedido fica registado, mas a tarefa continua desligada e não arrancará sozinha: terás de executar à mão a tarefa agendada
Temu Sync Reference Cache, como indica o próprio aviso. - A tarefa agendada não existe. O botão deixa registado o pedido e não tem a quem despertar. O aviso indica que é preciso atualizar o módulo para a criar.
Em ambos os casos o mesmo texto do aviso fica também no chatter da ficha, pelo que o podes consultar depois.
O que faz a tarefa quando recolhe a fila
Cada passagem da tarefa trabalha assim, segundo o código:
- Retira nós da fila até atingir um limite de nós por passagem ou um orçamento de tempo, o que chegar primeiro.
- Salta os nós que já constam como visitados.
- Pede à Temu as categorias filhas de cada nó.
- Se o nó já tinha registo, marca-o como folha consoante haja ou não linhas na resposta.
- Cria ou atualiza um registo por cada categoria recebida, identificada pela instância e pelo identificador da Temu. Guarda nome, nível, estado de disponibilidade, tipo, pai e a resposta original.
- Acrescenta à fila as categorias filhas, a não ser que sejam o próprio pai, já estejam visitadas ou já estejam na fila. Processam-se nesta mesma passagem ou numa posterior, conforme se atinja antes ou não o limite de nós ou o de tempo.
- Ao terminar guarda a fila e a lista de visitadas e soma as processadas ao contador.
A passagem devolve também se a fila ficou vazia.
Um detalhe que convém saber
Se a consulta à Temu não devolve linhas, o nó é tratado como se não tivesse filhas. Isso vale tanto se de facto não há categorias filhas como se a chamada falhou: neste segundo caso, o código pode deixar um aviso no registo do servidor. Se o nó tinha registo, fica marcado como folha. Vale a pena consultar esse registo se um nó aparecer como folha e não o esperavas.
O que verificar depois no caso da Hogar Levante
- Que o chatter da ficha tenha a mensagem do pedido.
- Que a tarefa
Temu Sync Reference Cacheesteja ativa. Se a base de dados for uma cópia neutralizada, continuará desligada e será preciso executá-la à mão, como indica o aviso. - Que, passados alguns minutos e com a tarefa ativa, tenha começado a processar a fila.
O que aprender com o caso
- O botão reinicia e enfileira; a leitura da Temu é feita pela tarefa agendada.
- Reinicia o estado e a fila, por isso usa-o quando quiseres voltar a começar, não para uma simples revisão.
- Os avisos têm a ver com a tarefa agendada, não com a Temu.
Custo e ajuda
O Temu Connector for Odoo é um módulo de pagamento único por versão e precisa da subscrição do FlexigoTech Cloud (plano Conector: 49 €/mês ou 490 €/ano sem IVA). A ligação passa pelo FlexigoTech Cloud, que guarda cifradas as credenciais, vigia a sincronização e avisa por e-mail se falhar. O módulo está publicado no Odoo Apps para 17, 18, 19 e 20; tens mais dados na ficha do Odoo Apps e na página do módulo.
Se precisares de implementar o Odoo com a Temu ou de uma integração à medida, a FlexigoTech implementa o Odoo 17, 18, 19 e 20 e desenvolve conectores e integrações.
Continue a ler
Verificado no código do conector (versão 19.0) e nas fontes indicadas
Fontes
- Código do módulo: flexigobe_temu_connector 19.0 (455b3f0f): views/temu_instance_views.xml
- Código do módulo: flexigobe_temu_connector 19.0 (455b3f0f): models/temu_instance.py
- Código do módulo: flexigobe_temu_connector 19.0 (455b3f0f): models/fgt_cloud.py
- apps.odoo.com/apps/modules/19.0/flexigobe_temu_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
