Skip to content

Commit

Permalink
User Story #2413 (fix2) убрать неоптимальный запрос для экономии RAM
Browse files Browse the repository at this point in the history
также инорировать результаты celery тасков
  • Loading branch information
Fak3 committed Feb 20, 2016
1 parent 5b45038 commit ba37c9a
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 9 deletions.
4 changes: 3 additions & 1 deletion exmo/exmo/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,10 @@
CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler"
CELERY_ACCEPT_CONTENT = ['pickle']
CELERY_ALWAYS_EAGER = False
CELERY_TASK_RESULT_EXPIRES = 18000
CELERY_SEND_TASK_ERROR_EMAILS = True
CELERY_IGNORE_RESULT = True
# CELERY_TASK_RESULT_EXPIRES = 18000

# settings for sending email task
EMAIL_DEFAULT_RETRY_DELAY = 10 * 60 # seconds
EMAIL_MAX_RETRIES = 5
Expand Down
8 changes: 4 additions & 4 deletions exmo/exmo2010/celery_tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,18 +44,18 @@
rate_limit=settings.EMAIL_RATE_LIMIT)


@shared_task(**mail_task_opts)
@shared_task(ignore_result=True, **mail_task_opts)
def send_email(message):
message.send()


@shared_task(**mail_task_opts)
@shared_task(ignore_result=True, **mail_task_opts)
def send_org_email(message, org_pk):
message.send()
Organization.objects.filter(pk=org_pk, inv_status='NTS').update(inv_status='SNT')


@periodic_task(run_every=crontab(minute="*/30"))
@periodic_task(ignore_result=True, run_every=crontab(minute="*/30"))
def check_mdn_emails():
"""
Check unseen emails for MDN (Message Disposition Notification).
Expand Down Expand Up @@ -104,7 +104,7 @@ def check_mdn_emails():
m.expunge()


@periodic_task(run_every=crontab(minute="*/60"))
@periodic_task(ignore_result=True, run_every=crontab(minute="*/60"))
def send_digest(now=datetime.now()):
from exmo2010.mail import ExmoEmail

Expand Down
2 changes: 1 addition & 1 deletion exmo/exmo2010/models/monitoring.py
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ def rating(self, parameters=None, rating_type=None):
tasks = Task.approved_tasks.filter(organization__monitoring=self).extra(
select={'task_openness': sql_openness, 'task_openness_initial': sql_openness_initial},
where=['%s IS NOT NULL' % sql_openness],
order_by=['-task_openness']).select_related('organization').prefetch_related('score_set__parameter').distinct()
order_by=['-task_openness']).select_related('organization').distinct()

previous_openness = None
place = 0
Expand Down
8 changes: 5 additions & 3 deletions exmo/monitorings/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -472,10 +472,12 @@ def _comments_stats(tasks):
task.interim_recommends_len = 0
task.final_recommends_len = 0

final_scores = [s for s in task.score_set.all() if s.revision == Score.FINAL]
interim_scores_by_param = dict((s.parameter.pk, s) for s in task.score_set.all() if s.revision == Score.INTERIM)
scores = list(task.score_set.only('recommendations', 'revision', 'parameter', 'id', 'task'))

final_scores = [s for s in scores if s.revision == Score.FINAL]
interim_scores_by_param = dict((s.parameter_id, s) for s in scores if s.revision == Score.INTERIM)
for score in final_scores:
interim_score = interim_scores_by_param.get(score.parameter.pk, score)
interim_score = interim_scores_by_param.get(score.parameter_id, score)
if score.recommendations:
task.final_recommends_len += 1
if interim_score.recommendations:
Expand Down

0 comments on commit ba37c9a

Please sign in to comment.