Este é um guia de referência que descreve como uploads órfãos e excluídos são automaticamente removidos de um site Discourse. Este guia se aplica a sites Discourse auto-hospedados e hospedados.
Nível de usuário necessário: Administrador
Alguma vez você já se perguntou o que acontece com arquivos e imagens que foram carregados em um site Discourse, mas não são mais referenciados, ou como remover uploads de um site? Você está no lugar certo!
Você pode precisar excluir arquivos e imagens carregados no Discourse que não são mais referenciados. Não há uma maneira integrada de fazer isso pela interface do usuário; no entanto, o Discourse possui uma tarefa Sidekiq automática agendada para remover uploads órfãos e excluídos chamada clean up uploads.
Uploads órfãos e excluídos
Uploads órfãos são arquivos que foram carregados em um site Discourse, mas não são mais referenciados. Um upload é considerado órfão se e somente se não for referenciado:
- Na versão mais recente de uma postagem
- Em um rascunho
- Em uma postagem em fila
- Em uma configuração do site (por exemplo, logotipo, favicon)
- Em um emoji personalizado
- Em um tema
- Em um avatar de usuário/imagem de fundo/imagem de cartão
- Em um logotipo de categoria/imagem de fundo
- Em uma imagem de insígnia
- Em uma imagem de destaque de grupo
Os uploads são considerados “excluídos” quando o tópico/postagem em que estão contidos é excluído.
Limpeza de uploads
Para remover completamente um upload do Discourse, você deverá fazer uma das seguintes ações:
- Forçar o upload a se tornar órfão removendo qualquer referência ao upload. Isso pode ser feito editando o link do upload fora da postagem em que está, ou de qualquer outro local onde o upload possa ser referenciado.
- Excluir todos os tópicos/postagens que contêm o upload, fazendo com que o upload seja considerado “excluído”. Observe que você precisa remover a imagem da postagem antes de excluir a postagem para torná-la órfã.
Todos os uploads órfãos não referenciados e uploads excluídos serão então removidos do armazenamento (após um período de carência) assim que a tarefa clean up uploads for executada.
Configurações do site
As seguintes configurações do site estão disponíveis em example.discourse.com/admin/site_settings/category/files para modificar como o Discourse remove automaticamente os uploads.
clean up uploads: padrão verdadeiroclean orphan uploads grace period hours: padrão 48purge deleted uploads grace period days: padrão 30
A configuração clean up uploads pode ser usada para ativar ou desativar a exclusão automática de uploads órfãos não referenciados. A configuração clean orphan uploads grace period hours controla quanto tempo após a detecção de um upload órfão ele será removido. A configuração purge deleted uploads grace period days controla quanto tempo os uploads tombstoneados (excluídos) são retidos antes de serem removidos permanentemente — isso é tratado por uma tarefa agendada separada chamada purge deleted uploads.
Detalhes adicionais sobre a tarefa clean up uploads estão disponíveis no arquivo clean_up_uploads.rb no GitHub.
Remoção de uploads S3
A seção a seguir aplica-se apenas a sites Discourse auto-hospedados.
Se você estiver atualmente hospedado em nosso Plano Empresarial, entre em contato com team@discourse.org se tiver alguma dúvida sobre a exclusão de uploads do seu armazenamento S3.
A limpeza de uploads órfãos e excluídos funciona de maneira semelhante para ambos os armazenamentos local e S3. A única diferença entre o armazenamento local e o S3 é que a limpeza dos uploads S3 é tratada automaticamente pelo S3 por meio de uma política de tombstone. Consulte Gerenciando o ciclo de vida do seu armazenamento para obter detalhes adicionais sobre como isso é tratado no S3.
Por padrão, a tarefa clean up uploads inclui uploads S3. No entanto, se você desejar desativar esse recurso, pode desmarcar a configuração do site s3 configure tombstone policy.

