Agenda de Exportação do Mastodon pelo Sidekiq: Visão do Administrador
🔍 WiseChecker

Agenda de Exportação do Mastodon pelo Sidekiq: Visão do Administrador

Administradores do Mastodon frequentemente precisam saber quando as exportações de dados dos usuários, como downloads de arquivo ou backups de conta, são processadas. Os jobs de exportação são enfileirados e executados pelo Sidekiq, o processador de tarefas em segundo plano do Mastodon. Sem verificar o painel do Sidekiq, não é possível determinar se uma exportação está pendente, em execução ou falhou. Este artigo explica como visualizar a agenda de exportação diretamente da interface de administração do Sidekiq e interpretar os detalhes dos jobs.

Principais Pontos: Agenda de Exportação do Mastodon via Sidekiq Admin

  • Admin > Sidekiq > Queues: Localize a fila export onde todos os jobs de exportação de dados do usuário são listados.
  • Argumentos do job no Sidekiq: Cada job de exportação armazena o ID do usuário e o tipo de exportação, como BackupWorker ou AccountMigrationWorker.
  • Conjuntos Scheduled vs Retry: Use as abas Scheduled e Retries para ver jobs de exportação atrasados ou com falha.

ADVERTISEMENT

Por que as Exportações São Processadas pelo Sidekiq, e Não pelo Servidor Web

O Mastodon separa as requisições web voltadas ao usuário das tarefas em segundo plano para manter a interface responsiva. Quando um usuário solicita uma exportação de dados em Preferências > Importar e exportar > Solicitar seu arquivo, o Mastodon não gera o arquivo imediatamente. Em vez disso, ele enfileira um job em segundo plano no Sidekiq. O Sidekiq é executado como um processo separado que coleta jobs das filas Redis e os executa um a um. Esse design evita que a geração de arquivos grandes bloqueie o processo web.

O tipo de job de exportação é BackupWorker para arquivos completos da conta e AccountMigrationWorker para exportações de migração de seguidores. Ambos são colocados em uma fila chamada export por padrão. Os administradores podem monitorar o progresso, a agenda e os motivos de falha desses jobs através da interface web do Sidekiq, que é integrada ao Mastodon.

Acessando a Interface de Administração do Sidekiq para Jobs de Exportação

  1. Faça login como administrador do Mastodon
    Apenas usuários com o papel Administrator podem visualizar o painel do Sidekiq. Se você não for administrador, entre em contato com o proprietário da instância.
  2. Navegue até Admin > Sidekiq
    Na interface web do Mastodon, abra o menu lateral. Clique em Administration e depois em Sidekiq. O painel do Sidekiq abre em uma nova aba do navegador.
  3. Clique na aba Queues
    No topo da página do Sidekiq, clique em Queues. Uma lista de todas as filas ativas aparece, incluindo a fila export. O número ao lado do nome da fila mostra quantos jobs estão aguardando no momento.
  4. Clique no nome da fila export
    Clique no link export para ver a lista de jobs de exportação pendentes. Cada linha mostra a classe do job, os argumentos e quando foi enfileirado.
  5. Inspecione um job de exportação específico
    Clique no link Arguments de qualquer job. Um objeto JSON aparece. Procure pelo campo user_id para identificar qual usuário solicitou a exportação. O campo type mostra backup ou migration.

ADVERTISEMENT

Interpretando o Status dos Jobs de Exportação no Sidekiq

Jobs Pendentes na Fila de Exportação

Jobs na fila export estão aguardando um worker do Sidekiq para serem processados. A coluna Enqueued mostra a hora em que o job foi adicionado. Se o tamanho da fila crescer, indica que as solicitações de exportação estão chegando mais rápido do que os workers conseguem processar. Você pode aumentar o número de workers do Sidekiq adicionando mais processos na configuração de sua implantação.

Jobs Agendados para Exportações Atrasadas

O Mastodon pode agendar exportações para serem executadas em um horário posterior, por exemplo, durante períodos de baixo tráfego. Para vê-los, clique na aba Scheduled no painel do Sidekiq. Cada job agendado exibe o timestamp at, que é o horário exato em que o job ficará disponível para os workers. Se uma exportação agendada não estiver sendo executada no horário esperado, verifique primeiro o conjunto Scheduled.

Jobs de Exportação com Falha e Repetição

Quando um job de exportação falha devido a um erro do servidor ou timeout, o Sidekiq o move para o conjunto Retries. Clique na aba Retries para visualizar os jobs com falha. Cada entrada mostra a mensagem de erro, o número de tentativas de repetição e o próximo horário de repetição. Motivos comuns de falha incluem falta de espaço em disco, timeouts do banco de dados ou registros de usuário ausentes. Para repetir manualmente um job, clique no botão Retry now ao lado do job. Para remover um job permanentemente, clique em Delete.

Problemas Comuns de Agendamento de Exportação no Sidekiq

Fila de Exportação Vazia, mas Usuário Relata que Não Recebeu o Arquivo

Se a fila export estiver vazia e o usuário nunca recebeu o arquivo, o job pode ter sido concluído com um erro que não foi registrado no Sidekiq. Verifique a aba Dead do Sidekiq. Jobs que excedem o número máximo de repetições são movidos para o conjunto Dead. Expanda o conjunto Dead para ver a carga do erro. Verifique também se o endereço de e-mail do usuário está correto em Admin > Users > Edit user.

Jobs de Exportação Presos no Conjunto Scheduled Indefinidamente

Um job no conjunto Scheduled com um timestamp muito no passado indica que o processo de relógio do Sidekiq não está em execução. Reinicie o serviço Sidekiq com o comando systemctl restart sidekiq no servidor Mastodon. Após a reinicialização, os jobs agendados presos devem ser processados em alguns segundos.

Múltiplos Jobs de Exportação para o Mesmo Usuário

Se um usuário clicar em Solicitar seu arquivo várias vezes, o Mastodon enfileira um novo job a cada vez. Isso pode inundar a fila de exportação. Para evitar duplicatas, limite os usuários a uma exportação pendente por vez, verificando a fila export em busca de jobs existentes com o mesmo ID de usuário. Você pode excluir jobs duplicados da interface do Sidekiq clicando no botão Delete ao lado de cada entrada redundante.

Item Fila de Exportação Conjunto Scheduled
Propósito Mantém jobs prontos para execução imediata Mantém jobs programados para execução futura
Visibilidade Aba Queues, clique no nome da fila export Aba Scheduled no painel do Sidekiq
Problema comum Acúmulo na fila devido a muitas solicitações Jobs não processados se o relógio estiver parado
Ação do administrador Aumentar o número de workers do Sidekiq Reiniciar o serviço Sidekiq

Agora você pode visualizar e gerenciar toda a agenda de exportação pela interface de administração do Sidekiq. Verifique a aba Queues para exportações pendentes e a aba Scheduled para jobs atrasados. Para exportações com falha, revise os conjuntos Retries e Dead para identificar a causa raiz. Como dica avançada, defina a variável de ambiente SIDEKIQ_QUEUES para priorizar a fila de exportação sobre filas menos críticas, garantindo que as exportações dos usuários sejam concluídas mais rapidamente durante picos de carga.

ADVERTISEMENT