Open leonardofl opened 9 years ago
Avaliando melhor: comentei algumas chamadas e deixei o script de importação importando só uma casa legislativa. O log imprime "Invocando importador de conv assincronamente", e nada mais, Ou seja, parece que a thread assíncrona não está sendo disparada. (https://github.com/radar-parlamentar/radar/blob/master/radar_parlamentar/importadores/views.py) Juntando isso com o fato de q possivelmente não seja mesmo boa ideia fazer as importações em paralelo, creio que o certo seja usar um sistema de filas (celery, p ex). Estou pesquisando.
Usando o Celery agora!
0774bf6a9e573815d8a44e6a3de2672b1770803e 128ffc7c1c365ae9acb37d2149221211fc9aadea
Parece que resolveu o pau, e agora só roda uma importação de cada vez. Só falta testar com a importação da cdep.
Funcionando, mas parece q as vezes ainda dá pau...
Numa 1a execução foi blz, mas numa 2a tentativa, deu pau na importação do senado:
[2015-02-18 00:18:03,427: ERROR/MainProcess] Task importadores.celery.importar_assincronamente[661f2410-288d-4f1f-99f8-6edfab72612e] raised unexpected: DatabaseError('terminating connection due to administrator command\nSSL connection has been closed unexpectedly\n',)
Traceback (most recent call last):
File "/home/ubuntu/radar/venv_radar/local/lib/python2.7/site-packages/celery/app/trace.py", line 240, in trace_task
R = retval = fun(*args, **kwargs)
File "/home/ubuntu/radar/venv_radar/local/lib/python2.7/site-packages/celery/app/trace.py", line 438, in __protected_call__
return self.run(*args, **kwargs)
File "/home/ubuntu/radar/repo/radar_parlamentar/importadores/celery.py", line 45, in importar_assincronamente
importador.main([nome_curto_casa_legislativa])
File "/home/ubuntu/radar/repo/radar_parlamentar/importadores/importador.py", line 16, in main
importador_senado.main()
File "/home/ubuntu/radar/repo/radar_parlamentar/importadores/sen.py", line 440, in main
importer.importar_votacoes()
File "/home/ubuntu/radar/repo/radar_parlamentar/importadores/sen.py", line 328, in importar_votacoes
self._from_xml_to_bd(xml_file)
File "/home/ubuntu/radar/repo/radar_parlamentar/importadores/sen.py", line 297, in _from_xml_to_bd
votos = self._votos_from_tree(votos_tree, votacao)
File "/home/ubuntu/radar/repo/radar_parlamentar/importadores/sen.py", line 198, in _votos_from_tree
votacao.data, nome_senador)
File "modelagem/models.py", line 356, in find
for leg in legs:
File "/home/ubuntu/radar/venv_radar/local/lib/python2.7/site-packages/django/db/models/query.py", line 118, in _result_iter
self._fill_cache()
File "/home/ubuntu/radar/venv_radar/local/lib/python2.7/site-packages/django/db/models/query.py", line 892, in _fill_cache
self._result_cache.append(self._iter.next())
File "/home/ubuntu/radar/venv_radar/local/lib/python2.7/site-packages/django/db/models/query.py", line 291, in iterator
for row in compiler.results_iter():
File "/home/ubuntu/radar/venv_radar/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 763, in results_iter
for rows in self.execute_sql(MULTI):
File "/home/ubuntu/radar/venv_radar/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 818, in execute_sql
cursor.execute(sql, params)
File "/home/ubuntu/radar/venv_radar/local/lib/python2.7/site-packages/django/db/backends/postgresql_psycopg2/base.py", line 52, in execute
return self.cursor.execute(query, args)
DatabaseError: terminating connection due to administrator command
SSL connection has been closed unexpectedly
Na hora de executar o script de importação, obtive essa saída no log do radar (/var/log/radar/radar.log):
E esse é o pau que dá quando tento fazer as análises:
Uma suspeita é que não dê pra fazer a importação paralela de todas as casas, talvez tenha q rolar uma importação por vez. Pra testar isso é só alterar o script pra fazer a importação de apenas uma casa e ver oq rola.