Pesquise listas de discussão OpenJDK
Este projeto permite pesquisar em várias listas de discussão do OpenJDK.
A coisa única sobre este projeto é a pesquisa local. Quando você abre uma página de pesquisa, js-script baixa SQLite database com listas de discussão indexadas.
O ruim é que você precisa baixar todo o índice de pesquisa. O bom é que você pode executar consultas SQL arbitrárias em cima deste banco de dados.
Listas de discussão atualmente indexadas:
- https://mail.openjdk.org/pipermail/valhalla-dev/
- https://mail.openjdk.org/pipermail/amber-dev
- https://mail.openjdk.org/pipermail/panama-dev
- https://mail.openjdk.org/pipermail/loom-dev
- https://mail.openjdk.org/pipermail/lilliput-dev
- https://mail.openjdk.org/pipermail/leyden-dev
- https://mail.openjdk.org/pipermail/jdk-dev
- https://mail.openjdk.org/pipermail/graal-dev
- https://mail.openjdk.org/pipermail/announce
Como funciona
- Periodicamente, a ação do GitHub executa um indexador. O indexador baixa novos e-mails de um arquivo (por exemplo, os arquivos âmbar-dev) e os insere em um db-parte-0*.
- Quando você abre um front-end de pesquisa, o SQL.JS Lib Downloads do banco de dados Peças
db-part-0* e prepara o banco de dados, usando WebAssembly . - Por fim, você pode executar consultas SQL localmente sem qualquer interação do servidor.
Monitorando detalhes da implementação
- Após a reindexação, verificamos um novo tamanho de banco de dados. Se difere do antigo, escrevemos um novo tamanho de banco de dados e registro de data e hora atual para dbsize.txt. É implementado como uma das etapas de ações.
- Temos um trabalhador da CloudFlare. Possui gatilho Cron, que executa esse trabalhador a cada poucas horas.
- O trabalhador verifica quando o banco de dados foi atualizado da última vez. Se aconteceu há mais de 5 dias, o trabalhador envia um email.
Créditos
- Gunnar Morling - Como eu criei uma pesquisa sem servidor para o meu blog pela ideia deste projeto.
- https://github.com/sql-js/sql.js/ para uma ótima biblioteca que permite o uso de sqlite em um navegador.
- https://github.com/ para ações gratuitas para projetos de código aberto.