Agora, o código chama “StartThumbnailer (usuário, arquivo)”, uma mensagem é colocada em uma fila e outro processo em outros lugares chama “Usuário, arquivo: = Queue.thumbnextnail ()”.A parte importante é que “há algum estado, em um banco de dados”, e por enquanto só tem dois estados “precisa fazer e foi feito”.Coloque um trabalhador_id, registro de data e hora em um hash e, se esse registro de data e hora estiver antigo ou desaparecido, eu posso escrever o meu próprio. “Agora o trabalhador atualiza o banco de dados, depois executa a próxima etapa e atualiza o banco de dados e executa o próximoPasso, até ficar sem etapas. Às vezes, a resposta é “faça do processo idempotente”, mas geralmente a resposta é “bloqueios”, em breve seguida por “arrendamentos”.
Fonte: https://cohost.org/tef/post/1764930-how-not-to-write-a