You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Oct 2, 2023. It is now read-only.
Todos os dias raspamos dados e graças ao Spidermon somos notificados em nosso canal no Telegram. Porém, itens raspados não significa itens novos no banco de dados. É importante saber quantos foram inseridos e atualizados todos os dias, assim podemos ter uma ideia se estamos salvando os dados ou se eles estão se perdendo por algum erro.
Resumindo, a ideia é criar um comando que:
consulta por model quantos itens foram criados (created_at) ou atualizados (updated_at) ou removidos (updated_at e deleted=True)
envia uma mensagem para o nosso canal no Telegram com essas informações
The text was updated successfully, but these errors were encountered:
@anapaulagomes a classe responsavel por mandar as mensagens no telegram é a CustomSendTelegramMessage, certo!?
Estava pensando se a gente poderia começar essa tarefa adicionando o quantitativo de atualizados e criados na mensagem montada dentro do metodo get_message, ficando algo mais ou menos assim:
# qnd_criados_hoje = MODEL.objects.filter(created_at=DATA_DE_HOJE).count()# qnd_atualizados_hoje = MODEL.objects.filter(updated_at=DATA_DE_HOJE).count()message="\n".join(
[
f"{emoji} Spider `{self.data.spider.name}` {stats['finish_reason']}",
f"- Duração em segundos: {round(stats['elapsed_time_seconds'], 1)}",
f"- Itens raspados: {n_scraped_items}",
f"- Erros: {number_of_failures}",
f"- Exceções: {number_of_exceptions}\n{exceptions_message}",
# linha mostrando o quantitativo de itens criados,# linha mostrando o quantitativo de itens atualizados,
]
Cê poderia explicar um pouco sobre essa ideia de "criar um comando"?
Criar um comando seria criar um script independente com Django (eles estão sempre na pasta management/commands de cada app). Como usamos background tasks pra poder processar e criar os itens no banco, pode ter alguma race condition e os números ficarem incorretos (mostrar menos do que realmente teremos criado e atualizado no final do processamento).
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Todos os dias raspamos dados e graças ao Spidermon somos notificados em nosso canal no Telegram. Porém, itens raspados não significa itens novos no banco de dados. É importante saber quantos foram inseridos e atualizados todos os dias, assim podemos ter uma ideia se estamos salvando os dados ou se eles estão se perdendo por algum erro.
Resumindo, a ideia é criar um comando que:
created_at
) ou atualizados (updated_at
) ou removidos (updated_at
edeleted=True
)The text was updated successfully, but these errors were encountered: