Você solicita uma exportação dos seus dados do Mastodon, mas o status do download fica em “Download pendente” por horas ou até dias. Esse problema geralmente ocorre quando a fila de tarefas em segundo plano do seu servidor Mastodon está sobrecarregada ou travada em uma tarefa com falha. O servidor nunca gera o arquivo de exportação, deixando você sem como fazer backup das suas postagens, listas e seguidores. Este artigo explica por que as exportações ficam travadas e fornece soluções passo a passo tanto para usuários da instância quanto para administradores do servidor.
Principais pontos: Como resolver uma exportação travada do Mastodon
- Preferências > Importar e exportar > Exportar dados: O local onde você solicita cada tipo de exportação; se estiver travado, primeiro é preciso limpar o trabalho pendente.
- Painel do Sidekiq (apenas admin): O visualizador de filas que mostra trabalhos de exportação travados; tente novamente ou exclua o trabalho com falha para desbloquear as exportações.
- Comando no console Rails
ExportWorkerpurge: Uma correção no lado do servidor que remove todos os trabalhos de exportação pendentes e permite solicitar um novo.
Por que as exportações do Mastodon ficam travadas em “Download pendente”
O Mastodon não cria arquivos de exportação instantaneamente. Quando você clica em um botão de download na página Preferências > Importar e exportar > Exportar dados, o sistema coloca um trabalho em segundo plano na fila, processado pelo Sidekiq, o processador de trabalhos. O Sidekiq pega o trabalho, executa a classe ExportWorker e escreve o arquivo em um local temporário. A interface web então mostra um link de download em vez da mensagem “Download pendente”.
O trabalho pode ficar pendente por três motivos principais:
A fila do Sidekiq está congestionada
Se sua instância do Mastodon processa um volume alto de tarefas — federar postagens, enviar notificações ou gerar miniaturas — o trabalho de exportação fica atrás de outras tarefas. Uma fila com milhares de trabalhos esperando pode atrasar uma exportação por horas.
Um trabalho com falha bloqueia a fila
Às vezes, um trabalho de exportação anterior falha devido a um arquivo ausente, um timeout no banco de dados ou um erro de falta de memória. O Sidekiq tenta novamente o trabalho com falha várias vezes, mas se a causa raiz persistir, o trabalho fica no conjunto de novas tentativas. Novos trabalhos de exportação para o mesmo usuário podem ser bloqueados até que o trabalho antigo seja resolvido.
O ExportWorker trava sem nova tentativa
Em instâncias menores com RAM limitada, o ExportWorker pode consumir muita memória e ser morto pelo sistema operacional. O Sidekiq nem sempre recoloca o trabalho na fila após uma morte por OOM, deixando o status da exportação como “Download pendente” permanentemente.
Passos para desbloquear uma exportação pendente do Mastodon
O método de correção depende se você é um usuário comum ou um administrador do servidor. Siga a seção que se aplica ao seu papel.
Para usuários comuns: Cancelar e solicitar novamente a exportação
- Abra Preferências > Importar e exportar > Exportar dados
Navegue até as configurações do seu Mastodon. A página de exportação de dados lista todos os tipos de exportação: postagens, mídia, listas, favoritos, seguidores, bloqueios, silêncios e bloqueios de domínio. - Clique no botão “Solicitar” para o tipo de exportação travado novamente
Se o botão estiver cinza ou mostrar “Download pendente”, aguarde 30 segundos e atualize a página. Se o status não mudar, vá para o próximo passo. - Faça logout e login novamente
Fazer logout limpa o cache da sua sessão. Após fazer login novamente, volte para a página de exportação de dados. O trabalho travado pode ter sido limpo pelo servidor nesse meio tempo. Se o botão agora estiver clicável, solicite a exportação novamente. - Entre em contato com o administrador da sua instância
Se a exportação ainda estiver pendente após fazer logout, o problema está no lado do servidor. Envie uma mensagem direta para o administrador da sua instância com o tipo exato de exportação que está travado. Inclua o horário em que você solicitou pela primeira vez.
Para administradores de servidor: Limpar o trabalho travado via Sidekiq
- Acesse o painel do Sidekiq
Abrahttps://sua-instancia.exemplo.com/sidekiqno navegador. Você precisa ter privilégios de administrador e estar logado na sua conta do Mastodon. Se vir um erro 404, sua instância pode ter o Sidekiq web desabilitado — use o método do console Rails. - Navegue até a aba Retries (Tentativas)
Clique no link “Retries” no topo do painel do Sidekiq. Procure por trabalhos com a classeExportWorker. O payload do trabalho contém o ID do usuário da conta afetada. - Exclua ou tente novamente o trabalho ExportWorker
Clique no botão “Delete” para remover completamente o trabalho travado. Alternativamente, clique em “Retry” para tentar a exportação novamente imediatamente. Se o trabalho falhar novamente em segundos, exclua-o e peça ao usuário para solicitar uma nova exportação. - Verifique a aba Busy (Ocupados) para um ExportWorker em execução
Um trabalho travado no estado “Busy” significa que o Sidekiq está tentando processá-lo, mas não consegue finalizar. Reinicie o processo Sidekiq no seu servidor: executesystemctl restart mastodon-sidekiqem uma configuração baseada em systemd. Após a reinicialização, o trabalho será tentado novamente ou movido para a aba Dead (Mortos).
Para administradores de servidor: Limpar todas as exportações pendentes via Rails Console
- Abra uma sessão do Rails console
Conecte-se via SSH ao seu servidor Mastodon e executecd /home/mastodon/live && RAILS_ENV=production bin/rails console. Substitua o caminho pelo diretório de instalação do seu Mastodon, se diferente. - Exclua todos os trabalhos de exportação pendentes
Digite o seguinte comando e pressione Enter:Sidekiq::Queue.new("default").each { |job| job.delete if job.display_class == "ExportWorker" }
Isso remove todos os trabalhos de exportação enfileirados na fila padrão. - Limpe o conjunto de tentativas para trabalhos de exportação
Execute:Sidekiq::RetrySet.new.each { |job| job.delete if job.display_class == "ExportWorker" }
Isso remove quaisquer trabalhos de exportação com falha que o Sidekiq planejava tentar novamente. - Peça ao usuário para solicitar a exportação novamente
Após limpar os trabalhos, o usuário verá um botão “Solicitar” novamente na página de exportação de dados. Instrua-o a clicar e aguardar até cinco minutos para o arquivo aparecer.
Se a exportação ainda mostrar “Download pendente” após a correção principal
Arquivo de exportação excede os limites de armazenamento do servidor
O Mastodon armazena arquivos de exportação em um diretório temporário, geralmente /home/mastodon/live/public/system/export. Se o disco estiver cheio, o Sidekiq não consegue escrever o arquivo. Execute df -h no seu servidor para verificar o uso do disco. Libere espaço removendo exportações antigas ou aumentando o armazenamento.
Exportação de mídia expira em contas grandes
O arquivo de exportação de mídia contém todos os arquivos que você enviou. Uma conta com milhares de imagens pode fazer o trabalhador exceder o timeout padrão de 25 minutos do Sidekiq. Aumente o timeout na sua configuração do Sidekiq ou aconselhe o usuário a solicitar apenas a exportação de postagens.
Cache do navegador mostra um status desatualizado
Mesmo após a exportação ser concluída, seu navegador pode exibir a mensagem antiga “Download pendente”. Limpe o cache do navegador para sua instância do Mastodon ou abra a página de exportação em uma janela privada. Se o link de download aparecer lá, a exportação está pronta.
Tema personalizado ou extensão interfere na interface
Extensões de navegador que modificam a interface web do Mastodon podem ocultar o link de download. Desative todas as extensões temporariamente e recarregue a página de exportação de dados. Se o botão aparecer, reative as extensões uma por uma para encontrar a culpada.
| Item | Verificação de fila via Sidekiq | Verificação de fila via Rails Console |
|---|---|---|
| Nível de habilidade necessário | Intermediário (requer login de admin) | Avançado (SSH e linha de comando) |
| Tempo para executar | 2-5 minutos | 5-10 minutos |
| Remove trabalhos com tentativas | Sim, manualmente por trabalho | Sim, exclusão em massa por classe |
| Requer reinicialização do servidor | Apenas se o trabalho estiver travado no estado Busy | Não |
| Risco de perda de dados | Nenhum | Nenhum (exclui apenas o trabalho na fila, não os dados de exportação) |
Agora você sabe por que as exportações do Mastodon ficam travadas e como corrigi-las tanto no lado do usuário quanto do administrador. Para usuários comuns, a correção mais rápida é fazer logout e login novamente, e então solicitar a exportação outra vez. Se isso falhar, peça ao seu administrador para limpar a fila do Sidekiq. Administradores de servidor devem primeiro verificar o painel do Sidekiq em busca de trabalhos ExportWorker travados, depois usar o Rails console para limpar todas as exportações pendentes se a fila estiver profundamente bloqueada. Após a correção, verifique se a exportação é concluída em até cinco minutos. Para prevenção contínua, monitore a profundidade da fila do Sidekiq diariamente e reinicie o serviço se a fila exceder 500 trabalhos.