mirror of https://github.com/interlegis/sapl.git
Browse Source
* implementando celery para tramitacao de email e indexacao do solr corrigindo conflitos do cherry pick celery email_queue implementando solr com fila de menagem * adicionando django-celery-results==1.0.4 * corrigindo quantidade de argumentos * adicionando Whoosh * dockerizando celery * Startando celery no docker-composer junto ao saplpull/2811/head
Ricardo Lima Canela
6 years ago
committed by
Edward
10 changed files with 92 additions and 12 deletions
@ -0,0 +1,3 @@ |
|||
from .celery import app as celery_app |
|||
|
|||
__all__ = ('celery_app',) |
@ -0,0 +1,27 @@ |
|||
from sapl.celery import app |
|||
from sapl.base.email_utils import do_envia_email_tramitacao |
|||
from sapl.materia.models import StatusTramitacao, UnidadeTramitacao, MateriaLegislativa |
|||
from sapl.protocoloadm.models import StatusTramitacaoAdministrativo, DocumentoAdministrativo |
|||
|
|||
|
|||
@app.task(queue='email_queue') |
|||
def task_envia_email_tramitacao(kwargs): |
|||
|
|||
tipo = kwargs.get("tipo") |
|||
doc_mat_id = kwargs.get("doc_mat_id") |
|||
tramitacao_status_id = kwargs.get("tramitacao_status_id") |
|||
tramitacao_unidade_tramitacao_destino_id = kwargs.get("tramitacao_unidade_tramitacao_destino_id") |
|||
base_url = kwargs.get("base_url") |
|||
|
|||
if tipo == 'documento': |
|||
doc_mat = DocumentoAdministrativo.objects.get(id=doc_mat_id) |
|||
status = StatusTramitacaoAdministrativo.objects.get(id=tramitacao_status_id) |
|||
|
|||
elif tipo == 'materia': |
|||
doc_mat = MateriaLegislativa.objects.get(id=doc_mat_id) |
|||
status = StatusTramitacao.objects.get(id=tramitacao_status_id) |
|||
|
|||
unidade_destino = UnidadeTramitacao.objects.get(id=tramitacao_unidade_tramitacao_destino_id) |
|||
|
|||
do_envia_email_tramitacao(base_url, tipo, doc_mat, status, unidade_destino) |
|||
|
@ -0,0 +1,10 @@ |
|||
import os |
|||
from celery import Celery |
|||
from django.conf import settings |
|||
|
|||
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'sapl.settings') |
|||
app = Celery('sapl') |
|||
app.config_from_object('django.conf:settings', namespace='CELERY') |
|||
|
|||
|
|||
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS) |
Loading…
Reference in new issue