Propriedade dos trabalhadores
Você pode definir um worker para ser executado independentemente da instância da Web sem uma instância do Nginx em execução; no entanto, o worker usa o mesmo armazenamento de rede usado pelo Commerce aplicação. Você não precisa configurar um servidor Web na instância do worker (usando Node.js ou Go) porque o roteador não pode direcionar solicitações públicas ao worker. Isso torna a instância do trabalhador ideal para tarefas em segundo plano ou tarefas em execução continuamente que correm o risco de bloquear uma implantação.
Configurar um trabalhador
Os funcionários estão disponíveis para uso somente com ambientes de preparo e produção profissionais. Os ambientes Pro integration e Starter podem optar por usar o CRON_CONSUMERS_RUNNER variável.
Para configurar um colaborador no Estágio Profissional ou na Produção, Enviar um tíquete de suporte da Adobe Commerce e incluir as seguintes informações:
- ID do projeto
- ID do ambiente
- Nome do trabalhador
- Comandos Start
É possível configurar um processo por trabalhador. Uma configuração básica e comum do operador no .magento.app.yaml
O arquivo pode ter a seguinte aparência:
workers:
queue:
commands:
start: |
php ./bin/magento queue:consumers:start commerce.eventing.event.publish
Este exemplo define um único trabalhador chamado queue
, com um pequeno nível (tamanho S) de alocação de recursos, e executa o php ./bin/magento
comando na inicialização. O trabalhador queue
em seguida, é executado em cada nó como um processo de trabalho. Se o comando for encerrado, ele será reiniciado automaticamente.
Comandos e substituições
A variável commands.start
a chave é necessária para iniciar comandos com o aplicativo de trabalho. Você pode usar qualquer comando shell válido, embora seja ideal usar o idioma do aplicativo. Se o comando especificado pelo start
for encerrada, ela será reiniciada automaticamente.
deploy
e post_deploy
ganchos e crons
os comandos são executados somente no contêiner da web, não em instâncias do trabalhador.Herança
Definições para o size
, relationships
, access
, disk
e mount
, e variables
as propriedades são herdadas por um trabalhador, a menos que sejam explicitamente substituídas.
As propriedades a seguir são as mais usadas para substituir configurações de nível superior:
size
— aloque menos recursos a um único processo em segundo planovariables
—instruir o aplicativo para executar de forma diferente
Tempo e enfileiramento
Embora cada trabalhador fique atrás de outro, a configuração a seguir produz uma separação consistente de dois segundos nos carimbos de data e hora no var/time.txt
arquivo, independentemente do sleep de oito segundos no código PHP:
workers:
time1:
commands:
start: 'php -r "sleep(8); echo time() . PHP_EOL;" >> var/time.txt& sleep 2'