Como funciona o agendamento
Agendamentos, horários, alterações, períodos e execuções: as ideias por trás do Metascheduler e o que acontece em cada momento.
Os blocos de construção
Um agendamento é uma entrada no seu calendário. Tem um nome, um horário e uma lista de alterações.
Uma alteração é um tipo de edição a um conjunto de itens: «tirar 20 % a estas 140 variantes» ou «trocar o menu principal pelo menu da Black Friday». Cada alteração tem:
- um tipo de alteração, como Preços das variantes ou Menu de navegação (todos os tipos);
- os itens que altera, como produtos, entradas ou um menu;
- o que faz no início;
- o que acontece no fim: Reverter, Definir para outra coisa ou Manter.
As alterações são executadas pela ordem em que estão listadas.
Momento
| Momento | Executa | No fim |
|---|---|---|
| Uma vez | Uma só vez, numa data e hora. | Nada: as alterações ficam, como um Lançamento das Implementações. |
| Período | Num início, até um fim. | Cada alteração segue a sua escolha de fim, como um Evento das Implementações. |
| Repetir | Um período que acontece todos os dias, todas as semanas ou todos os meses. | Cada período reverte no seu próprio fim. |
| Seguir uma implementação | Quando uma implementação do Shopify fica ativa. | Quando a implementação termina, como escolheu. |
Cada agendamento tem o seu próprio fuso horário. As horas são guardadas com exatidão e apresentadas no fuso do agendamento.
Estados
Um agendamento passa pelos seguintes estados:
- Rascunho: em preparação. Nunca é executado.
- Agendado: à espera do início.
- Em vigor: as suas alterações estão aplicadas neste momento.
- Terminado: foi executado e já não há nada por fazer.
Também pode Pausar um agendamento (não começa nada de novo; o que estiver em vigor reverte na mesma no fim) ou Arquivá-lo (não volta a ser executado; o que estiver em vigor reverte na mesma). Um agendamento terminado ou arquivado não pode ser editado: selecione Duplicar para o executar de novo.
O que acontece no início
Para cada item, o Metascheduler:
- lê o valor atual e guarda-o (o instantâneo);
- escreve o novo valor;
- guarda o que escreveu.
Se um item já tiver o valor, não é escrito nada. Uma percentagem é sempre calculada a partir do valor guardado, pelo que uma nova tentativa nunca tira 20 % duas vezes.
O que acontece no fim
Para cada item, consoante a escolha de fim da alteração:
- Reverter: se o valor em vigor ainda for o que o Metascheduler escreveu, repõe o valor guardado. Se alguém o alterou, deixa-o como está e pergunta-lhe. Consulte Como funciona a reversão.
- Definir para outra coisa: escreve o valor final que escolheu.
- Manter: não faz nada.
Execuções atrasadas
O Metascheduler executa cada início e cada fim uma vez, a horas. Se não conseguir executar a horas (por exemplo, porque o Shopify estava em baixo), segue estas regras:
| Situação | O que acontece |
|---|---|
| Um início com até 5 minutos de atraso | É executado normalmente. |
| Um início com mais atraso, dentro do seu período | É executado e fica marcado como Atrasado. |
| Um início cujo período já terminou | É ignorado e aparece em Precisa de si. O seu fim é cancelado. |
| Um fim, por maior que seja o atraso | É sempre executado. Repor as coisas é o sentido seguro. |
| Uma alteração única com mais de um dia de atraso | Fica à espera de si em Precisa de si: Executar agora ou Ignorar. |
Executar agora, Tentar novamente e os inícios de implementações não ficam retidos por estas regras.
Novas tentativas
Quando o Shopify está ocupado ou inacessível, o Metascheduler espera e tenta novamente, até 5 vezes, com esperas cada vez mais longas. Uma alteração que o Shopify recusa (um valor não permitido, um item que já não existe) não é repetida: esse item falha e os restantes continuam, e a execução mostra Parcialmente concluído.
Conflitos
Quando dois agendamentos alteram o mesmo item em horários que se sobrepõem, o editor lista-o em Conflitos e o calendário assinala ambos. É um aviso, não um bloqueio: as regras de reversão segura evitam que a sobreposição anule qualquer um deles.
Ainda com dúvidas? Teremos todo o gosto em ajudar.