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.
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
- 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. - 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. - 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. - 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. - 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.
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.