Depois de passar muita raiva com o Braz - e resto da turma da Bahia - me zoando por causa de uma edição que por atrasos na compilação dos mapas não ficou legal, dormi com uma ideia e agora é hora de colocar a mão na massa.
Os mapas, via de regra, são compilados diariamente mas… vez ou outra dá uma atraso. Quem não gostaria de ser notificado quando houver atraso e liberação do atraso? Sim a ideia é essa!
Vou utilizar este tópico para informar - sim, vou automatizar - toda vez que tivermos atrasos no INT e quando sairmos de atraso para liberado. Dessa forma quem quiser saber basta se inscrever no tópico e receberá atualizações.
Comecei agora a bolar o código e temporariamente deve sair algumas bobagens postada nele. Aproveitem e sugiram melhorias para termos um sistema bem legal.
Ao final, depois de tudo 100%, zero o tópico, faço uma explicação bem legal na inicial e começa a rodar a vero.
Faz isto não, de que outra forma a gente vai fazer treta no Zap da Bahia??? :lol:
O engraçado desta história é que do jeito que você escreveu ficou parecendo que fomos nós que erramos… Kkkkk
Gostaria de dizer que a culpa foi do antigerme e que todos nós da Bahia votamos na culpa ser dele. Como seres democráticos gostaria de dizer que somos totalmente democrático no nosso grupo do Zap, sempre votamos na hora de colocar a culpa em alguém e nesse assunto todos concordamos que a culpa foi do antigerme já que foi ele que andou mexendo onde não devia, se tivesse deixado tudo como deveria estar, não o teríamos culpado de forma democrática.
PS: Se não quiser ler tudo, só ler as partes que foram destacadas que é um resumo das minhas palavras :lol:
No Slack isso é possível.
Como é a ferramenta de comunicação que utilizamos entre os editores aqui do RS, foi criado até um canal exclusivo onde ele notifica automaticamente quando ocorre a compilação do mapa.
É muito útil e por vezes mais prático do que consultar o status.
E ninguém me defende né?! Tão vendo que até aqui no fórum o povo da Bahia fica me perseguindo - vou reclamar com o Waze, isso é bullying.
Ah… estava esperando uma “atraso” na compilação dos mapas para ter os dados e identificar os atrasos. Agora tenho.
Mas minha ideia não é relatar toda compilação, isso acho que pode encher o saco do povo pois ocorre normalmente a cada 24h. Minha ideia é só os atrasos e quando saímos deles.
Pronto, lógica toda bem testadinha, saímos do atraso de compilação dos mapas e funcionou certinho.
Para quem quiser acompanhar o código, abaixo (e em anexo) o danado:
#!/bin/sh
TMPDIR=/tmp
CURL="curl -s -c $TMPDIR/cookies -b $TMPDIR/cookies --connect-timeout 10 --max-time 20 --retry 10 --retry-delay 0 --retry-max-time 80"
$CURL https://storage.googleapis.com/status_page/status.html | grep "Map Release" | tail -n2 | head -n1 > $TMPDIR/status.tmp
if grep -q -i "delay" $TMPDIR/status.tmp
then
cp -f $TMPDIR/status.tmp $TMPDIR/status.delay
else
rm -f $TMPDIR/status.delay
fi
touch $TMPDIR/status.delay $TMPDIR/status.pub
if ! cmp -s $TMPDIR/status.pub $TMPDIR/status.delay
then
MAPRELEASE=$(date -R -d "$(grep -o -E "Map Release: <br>(.+)<br><br>Last Edit Time: <br>(.+)</td>" $TMPDIR/status.tmp | cut -d '>' -f2 | cut -d '<' -f1)")
LASTEDITTIME=$(date -R -d "$(grep -o -E "Map Release: <br>(.+)<br><br>Last Edit Time: <br>(.+)</td>" $TMPDIR/status.tmp | cut -d '>' -f5 | cut -d '<' -f1)")
if [ -s $TMPDIR/status.delay ]
then
echo "A compilação dos mapas está atrasada"
echo "O mapas foram liberados em $MAPRELEASE e contendo as edições feitas até $LASTEDITTIME"
else
echo "Voltamos ao período normal de compilação dos mapas. Normalmente as edições feitas estarão disponíveis no App em até 48h"
echo "O mapas foram liberados em $MAPRELEASE e contendo as edições feitas até $LASTEDITTIME"
fi
cp -f $TMPDIR/status.delay $TMPDIR/status.pub
fi
Não está a coisa mais bonita do mundo mas é funcional. No grep mesmo não consegui fazer pegar o valor exato que queria e fiz uns workarounds “temporários” com tail/head
Agora estou na parte de publicar no fórum, brincadeira com permissões e etc.
Agora que realmente necessito de suas sugestões na mensagem. Vou lançar 2 nos próximos posts, uma de atraso e outra e volta à normalidade. Por favor, sugiram um texto ou formatação melhor caso achem necessário.