mirror of https://github.com/interlegis/sigi.git
Sesostris Vieira
2 years ago
1 changed files with 44 additions and 0 deletions
@ -0,0 +1,44 @@ |
|||
import dns.resolver |
|||
from django.utils import timezone |
|||
from django.utils.translation import gettext as _ |
|||
from django_extensions.management.jobs import DailyJob |
|||
from sigi.apps.servicos.models import Servico |
|||
from sigi.apps.utils.mixins import JobReportMixin |
|||
|
|||
|
|||
class Job(JobReportMixin, DailyJob): |
|||
help = "Verifica domínios registrados no Interlegis" |
|||
report_data = [] |
|||
|
|||
def do_job(self): |
|||
servicos = Servico.objects.filter( |
|||
tipo_servico__modo="R", data_desativacao=None |
|||
).exclude(url="") |
|||
total = servicos.count() |
|||
erros = 0 |
|||
for s in servicos: |
|||
s.data_verificacao = timezone.localtime() |
|||
try: |
|||
dns.resolver.resolve(s.url, "SOA") |
|||
s.resultado_verificacao = "F" |
|||
s.erro_atualizacao = "" |
|||
except Exception as e: |
|||
erros += 1 |
|||
s.resultado_verificacao = "O" |
|||
s.erro_atualizacao = str(e) |
|||
self.report_data.append( |
|||
f" * {s.url} {s.get_resultado_verificacao_display()}: " |
|||
f"{s.erro_atualizacao}" |
|||
) |
|||
s.save() |
|||
|
|||
self.report_data = [ |
|||
"", |
|||
"RESUMO", |
|||
"======", |
|||
"", |
|||
f" * Total de registros verificados: {total}", |
|||
f" * Registros com erros: {erros}", |
|||
"", |
|||
"", |
|||
] + self.report_data |
Loading…
Reference in new issue