O que é a tarefa e de quanto em quanto tempo corre
A tarefa agendada Mirakl - Aceitar Encomendas pertence ao Mirakl Connector e existe nas versões 17, 18, 19 e 20 do Odoo. Corre a cada dez minutos e vem ativa ao instalar o módulo. No Odoo 17 está configurada para se repetir sem fim. O detalhe de cada passagem que se segue é o do Odoo 20.

Com o Odoo em português de Portugal, a tarefa chama-se Mirakl - Aceitar Encomendas. O segundo esquema mostra como se chama noutros idiomas.


Uma passagem, momento a momento
No Odoo 20, cada passagem da tarefa funciona assim:
- Ao instalar o módulo A tarefa fica ativa e agendada para correr a cada dez minutos.
- Ao arrancar a passagem Verifica-se que quem a executa é administrador. Se não for, a passagem para com
Só um administrador pode executar esta ação agendada.(Only an administrator can run this scheduled action.) e não se faz mais nada.
- Primeiro filtro Procura as instâncias Mirakl que estão ativas e têm ativada a aceitação automática de encomendas.
- Segundo filtro Dessas, fica com os marketplaces que esta passagem pode chamar: primeiro os diretos e depois os que passam pelo FlexigoTech Cloud. Um do FlexigoTech Cloud sem chave guardada não é chamado e, se a permissão guardada não incluir o serviço, não se chama nenhum dos do FlexigoTech Cloud. Esta verificação não usa a rede.
- Para cada instância Procura as suas encomendas que requerem aceitação, com estado de aceitação pendente ou com erro e que não estejam retidas para não passarem a ordens de vendas. Ordena-as por data de encomenda, da mais antiga à mais recente, e toma no máximo as que o limite da instância permitir.
- Por cada encomenda Pede para a aceitar e conta quantas são aceites e quantas ficam com o estado de aceitação em erro.
- Se houver uma pausa do relé Não se marca nem se apaga nada. Regista-se com um código, nunca com texto, para o relatório de saúde do FlexigoTech Cloud, e a passagem corta-se aí: as instâncias que faltavam não são processadas. A passagem seguinte continua.
- Se surgir outro erro Fica no registo do servidor e cria-se uma linha de erro no registo do módulo, com a operação de aceitar encomenda, o método HTTP e o URL de aceitação da instância e o texto do erro. Essa instância deixa de processar encomendas nesta passagem e a tarefa segue para a seguinte. Se nem sequer for possível escrever essa linha, o módulo deixa-o como aviso no registo do servidor e a passagem continua com as restantes.
- Ao terminar A passagem termina e passados dez minutos chega a vez de outra.
Que encomendas entram e em que ordem
Entram as encomendas da instância que requerem aceitação e cujo estado de aceitação é pendente ou erro, pelo que uma encomenda que falhou numa passagem volta a ser tentada na seguinte. Ficam de fora as encomendas retidas para não passarem a ordens de vendas: o código justifica-o porque aceitá-las seria comprometer-se a enviar aquilo que o Odoo nunca vai enviar.
A ordem é por data de encomenda, da mais antiga à mais recente, e, em caso de data igual, pela ordem em que foram criadas. Se houver mais encomendas do que o limite, as mais recentes esperam pela passagem seguinte.
O limite por instância
O campo Limite de Tentativas de Aceitação (Accept Retry Limit) vê-se na ficha de Instâncias Mirakl (Mirakl Instances), no separador Encomendas e Devoluções (Orders and Returns), grupo Política de Sincronização (Sync Policy). As fichas abrem-se a partir do menu Mirakl › Configuração › Marketplaces (Mirakl › Configuration › Marketplaces). O seu valor por defeito no código é 100.
A tarefa passa esse valor como teto de encomendas que procura em cada passagem para essa instância, e nunca toma menos de uma.
O que verificar se não faz nada
- A tarefa continua ativa. Vem ativa ao instalar e corre a cada dez minutos; se alguém a desativou, não haverá passagens.
- A instância cumpre as duas condições de entrada. A tarefa só olha para instâncias ativas com a aceitação automática de encomendas ativada. Uma que não cumpra as duas não é tocada.
- A via do FlexigoTech Cloud. Uma instância que passa pelo FlexigoTech Cloud precisa de ter uma chave guardada, e a permissão guardada deve incluir o serviço. Sem isso, a passagem não a chama.
- As encomendas. Têm de requerer aceitação, estar pendentes ou com erro no seu estado de aceitação e não estar retidas para não passarem a ordens de vendas.
- O limite. Se houver muitas encomendas, revê o valor de
Limite de Tentativas de Aceitação: cada passagem toma no máximo essa quantidade por instância. - Quem executa a tarefa. Se quem a executa não for administrador, a passagem para com
Só um administrador pode executar esta ação agendada.
Custo e ajuda
O Mirakl Connector publica-se no Odoo Apps para o Odoo 17, 18, 19 e 20. É de pagamento único por versão e precisa da subscrição do FlexigoTech Cloud, plano Conector: 49 €/mês ou 490 €/ano, sem IVA. O preço de cada versão está na ficha e a compra, na página do módulo. Sem subscrição, ou com o serviço suspenso, pára o que a subscrição proporciona; os dados ficam no teu Odoo.
Se estás a implementar o Odoo e queres ajuda para ligar os teus marketplaces Mirakl, a FlexigoTech implementa o Odoo 17, 18, 19 e 20 e desenvolve conectores e integrações à medida.
Continue a ler
Verificado no código do conector (versão 17.0 e 20.0) e nas fontes indicadas
Fontes
- Código do módulo: flexigobe_mirakl_connector 20.0 (aa05e537): data/ir_cron_data.xml
- Código do módulo: flexigobe_mirakl_connector 17.0 (e430de3e): data/ir_cron_data.xml
- Código do módulo: flexigobe_mirakl_connector 20.0 (aa05e537): models/mirakl_instance.py
- Código do módulo: flexigobe_mirakl_connector 20.0 (aa05e537): models/mirakl_ai.py
- apps.odoo.com/apps/modules/20.0/flexigobe_mirakl_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
