adjust some random sleeps

This commit is contained in:
wh1te909
2022-12-30 23:41:21 +00:00
parent 98ef1484c8
commit df4fea31d0
4 changed files with 30 additions and 18 deletions

View File

@@ -17,6 +17,7 @@ from tacticalrmm.constants import (
CheckStatus, CheckStatus,
DebugLogType, DebugLogType,
) )
from tacticalrmm.helpers import rand_range
if TYPE_CHECKING: if TYPE_CHECKING:
from django.db.models.query import QuerySet from django.db.models.query import QuerySet
@@ -46,7 +47,7 @@ def agent_outage_email_task(pk: int, alert_interval: Optional[float] = None) ->
return "alert not found" return "alert not found"
if not alert.email_sent: if not alert.email_sent:
sleep(random.randint(1, 5)) sleep(rand_range(100, 1500))
alert.agent.send_outage_email() alert.agent.send_outage_email()
alert.email_sent = djangotime.now() alert.email_sent = djangotime.now()
alert.save(update_fields=["email_sent"]) alert.save(update_fields=["email_sent"])
@@ -55,7 +56,7 @@ def agent_outage_email_task(pk: int, alert_interval: Optional[float] = None) ->
# send an email only if the last email sent is older than alert interval # send an email only if the last email sent is older than alert interval
delta = djangotime.now() - dt.timedelta(days=alert_interval) delta = djangotime.now() - dt.timedelta(days=alert_interval)
if alert.email_sent < delta: if alert.email_sent < delta:
sleep(random.randint(1, 5)) sleep(rand_range(100, 1500))
alert.agent.send_outage_email() alert.agent.send_outage_email()
alert.email_sent = djangotime.now() alert.email_sent = djangotime.now()
alert.save(update_fields=["email_sent"]) alert.save(update_fields=["email_sent"])
@@ -67,7 +68,7 @@ def agent_outage_email_task(pk: int, alert_interval: Optional[float] = None) ->
def agent_recovery_email_task(pk: int) -> str: def agent_recovery_email_task(pk: int) -> str:
from alerts.models import Alert from alerts.models import Alert
sleep(random.randint(1, 5)) sleep(rand_range(100, 1500))
try: try:
alert = Alert.objects.get(pk=pk) alert = Alert.objects.get(pk=pk)
@@ -91,7 +92,7 @@ def agent_outage_sms_task(pk: int, alert_interval: Optional[float] = None) -> st
return "alert not found" return "alert not found"
if not alert.sms_sent: if not alert.sms_sent:
sleep(random.randint(1, 3)) sleep(rand_range(100, 1500))
alert.agent.send_outage_sms() alert.agent.send_outage_sms()
alert.sms_sent = djangotime.now() alert.sms_sent = djangotime.now()
alert.save(update_fields=["sms_sent"]) alert.save(update_fields=["sms_sent"])
@@ -100,7 +101,7 @@ def agent_outage_sms_task(pk: int, alert_interval: Optional[float] = None) -> st
# send an sms only if the last sms sent is older than alert interval # send an sms only if the last sms sent is older than alert interval
delta = djangotime.now() - dt.timedelta(days=alert_interval) delta = djangotime.now() - dt.timedelta(days=alert_interval)
if alert.sms_sent < delta: if alert.sms_sent < delta:
sleep(random.randint(1, 3)) sleep(rand_range(100, 1500))
alert.agent.send_outage_sms() alert.agent.send_outage_sms()
alert.sms_sent = djangotime.now() alert.sms_sent = djangotime.now()
alert.save(update_fields=["sms_sent"]) alert.save(update_fields=["sms_sent"])
@@ -112,7 +113,7 @@ def agent_outage_sms_task(pk: int, alert_interval: Optional[float] = None) -> st
def agent_recovery_sms_task(pk: int) -> str: def agent_recovery_sms_task(pk: int) -> str:
from alerts.models import Alert from alerts.models import Alert
sleep(random.randint(1, 3)) sleep(rand_range(100, 1500))
try: try:
alert = Alert.objects.get(pk=pk) alert = Alert.objects.get(pk=pk)
except Alert.DoesNotExist: except Alert.DoesNotExist:

View File

@@ -13,6 +13,7 @@ from autotasks.models import AutomatedTask, TaskResult
from logs.models import DebugLog from logs.models import DebugLog
from tacticalrmm.celery import app from tacticalrmm.celery import app
from tacticalrmm.constants import DebugLogType from tacticalrmm.constants import DebugLogType
from tacticalrmm.helpers import rand_range
@app.task @app.task
@@ -144,7 +145,7 @@ def handle_task_email_alert(pk: int, alert_interval: Union[float, None] = None)
task_result = TaskResult.objects.get( task_result = TaskResult.objects.get(
task=alert.assigned_task, agent=alert.agent task=alert.assigned_task, agent=alert.agent
) )
sleep(random.randint(1, 5)) sleep(rand_range(100, 1500))
task_result.send_email() task_result.send_email()
alert.email_sent = djangotime.now() alert.email_sent = djangotime.now()
alert.save(update_fields=["email_sent"]) alert.save(update_fields=["email_sent"])
@@ -156,7 +157,7 @@ def handle_task_email_alert(pk: int, alert_interval: Union[float, None] = None)
task_result = TaskResult.objects.get( task_result = TaskResult.objects.get(
task=alert.assigned_task, agent=alert.agent task=alert.assigned_task, agent=alert.agent
) )
sleep(random.randint(1, 5)) sleep(rand_range(100, 1500))
task_result.send_email() task_result.send_email()
alert.email_sent = djangotime.now() alert.email_sent = djangotime.now()
alert.save(update_fields=["email_sent"]) alert.save(update_fields=["email_sent"])
@@ -177,7 +178,7 @@ def handle_task_sms_alert(pk: int, alert_interval: Union[float, None] = None) ->
task_result = TaskResult.objects.get( task_result = TaskResult.objects.get(
task=alert.assigned_task, agent=alert.agent task=alert.assigned_task, agent=alert.agent
) )
sleep(random.randint(1, 3)) sleep(rand_range(100, 1500))
task_result.send_sms() task_result.send_sms()
alert.sms_sent = djangotime.now() alert.sms_sent = djangotime.now()
alert.save(update_fields=["sms_sent"]) alert.save(update_fields=["sms_sent"])
@@ -189,7 +190,7 @@ def handle_task_sms_alert(pk: int, alert_interval: Union[float, None] = None) ->
task_result = TaskResult.objects.get( task_result = TaskResult.objects.get(
task=alert.assigned_task, agent=alert.agent task=alert.assigned_task, agent=alert.agent
) )
sleep(random.randint(1, 3)) sleep(rand_range(100, 1500))
task_result.send_sms() task_result.send_sms()
alert.sms_sent = djangotime.now() alert.sms_sent = djangotime.now()
alert.save(update_fields=["sms_sent"]) alert.save(update_fields=["sms_sent"])
@@ -210,7 +211,7 @@ def handle_resolved_task_sms_alert(pk: int) -> str:
task_result = TaskResult.objects.get( task_result = TaskResult.objects.get(
task=alert.assigned_task, agent=alert.agent task=alert.assigned_task, agent=alert.agent
) )
sleep(random.randint(1, 3)) sleep(rand_range(100, 1500))
task_result.send_resolved_sms() task_result.send_resolved_sms()
alert.resolved_sms_sent = djangotime.now() alert.resolved_sms_sent = djangotime.now()
alert.save(update_fields=["resolved_sms_sent"]) alert.save(update_fields=["resolved_sms_sent"])
@@ -231,7 +232,7 @@ def handle_resolved_task_email_alert(pk: int) -> str:
task_result = TaskResult.objects.get( task_result = TaskResult.objects.get(
task=alert.assigned_task, agent=alert.agent task=alert.assigned_task, agent=alert.agent
) )
sleep(random.randint(1, 5)) sleep(rand_range(100, 1500))
task_result.send_resolved_email() task_result.send_resolved_email()
alert.resolved_email_sent = djangotime.now() alert.resolved_email_sent = djangotime.now()
alert.save(update_fields=["resolved_email_sent"]) alert.save(update_fields=["resolved_email_sent"])

View File

@@ -8,6 +8,7 @@ from django.utils import timezone as djangotime
from alerts.models import Alert from alerts.models import Alert
from checks.models import CheckResult from checks.models import CheckResult
from tacticalrmm.celery import app from tacticalrmm.celery import app
from tacticalrmm.helpers import rand_range
@app.task @app.task
@@ -24,7 +25,7 @@ def handle_check_email_alert_task(
check_result = CheckResult.objects.get( check_result = CheckResult.objects.get(
assigned_check=alert.assigned_check, agent=alert.agent assigned_check=alert.assigned_check, agent=alert.agent
) )
sleep(random.randint(1, 5)) sleep(rand_range(100, 1500))
check_result.send_email() check_result.send_email()
alert.email_sent = djangotime.now() alert.email_sent = djangotime.now()
alert.save(update_fields=["email_sent"]) alert.save(update_fields=["email_sent"])
@@ -36,7 +37,7 @@ def handle_check_email_alert_task(
check_result = CheckResult.objects.get( check_result = CheckResult.objects.get(
assigned_check=alert.assigned_check, agent=alert.agent assigned_check=alert.assigned_check, agent=alert.agent
) )
sleep(random.randint(1, 5)) sleep(rand_range(100, 1500))
check_result.send_email() check_result.send_email()
alert.email_sent = djangotime.now() alert.email_sent = djangotime.now()
alert.save(update_fields=["email_sent"]) alert.save(update_fields=["email_sent"])
@@ -57,7 +58,7 @@ def handle_check_sms_alert_task(pk: int, alert_interval: Optional[float] = None)
check_result = CheckResult.objects.get( check_result = CheckResult.objects.get(
assigned_check=alert.assigned_check, agent=alert.agent assigned_check=alert.assigned_check, agent=alert.agent
) )
sleep(random.randint(1, 3)) sleep(rand_range(100, 1500))
check_result.send_sms() check_result.send_sms()
alert.sms_sent = djangotime.now() alert.sms_sent = djangotime.now()
alert.save(update_fields=["sms_sent"]) alert.save(update_fields=["sms_sent"])
@@ -69,7 +70,7 @@ def handle_check_sms_alert_task(pk: int, alert_interval: Optional[float] = None)
check_result = CheckResult.objects.get( check_result = CheckResult.objects.get(
assigned_check=alert.assigned_check, agent=alert.agent assigned_check=alert.assigned_check, agent=alert.agent
) )
sleep(random.randint(1, 3)) sleep(rand_range(100, 1500))
check_result.send_sms() check_result.send_sms()
alert.sms_sent = djangotime.now() alert.sms_sent = djangotime.now()
alert.save(update_fields=["sms_sent"]) alert.save(update_fields=["sms_sent"])
@@ -90,7 +91,7 @@ def handle_resolved_check_sms_alert_task(pk: int) -> str:
check_result = CheckResult.objects.get( check_result = CheckResult.objects.get(
assigned_check=alert.assigned_check, agent=alert.agent assigned_check=alert.assigned_check, agent=alert.agent
) )
sleep(random.randint(1, 3)) sleep(rand_range(100, 1500))
check_result.send_resolved_sms() check_result.send_resolved_sms()
alert.resolved_sms_sent = djangotime.now() alert.resolved_sms_sent = djangotime.now()
alert.save(update_fields=["resolved_sms_sent"]) alert.save(update_fields=["resolved_sms_sent"])
@@ -111,7 +112,7 @@ def handle_resolved_check_email_alert_task(pk: int) -> str:
check_result = CheckResult.objects.get( check_result = CheckResult.objects.get(
assigned_check=alert.assigned_check, agent=alert.agent assigned_check=alert.assigned_check, agent=alert.agent
) )
sleep(random.randint(1, 5)) sleep(rand_range(100, 1500))
check_result.send_resolved_email() check_result.send_resolved_email()
alert.resolved_email_sent = djangotime.now() alert.resolved_email_sent = djangotime.now()
alert.save(update_fields=["resolved_email_sent"]) alert.save(update_fields=["resolved_email_sent"])

View File

@@ -2,6 +2,7 @@ from typing import TYPE_CHECKING
from urllib.parse import urlparse from urllib.parse import urlparse
import pytz import pytz
import random
from django.conf import settings from django.conf import settings
from django.utils import timezone as djangotime from django.utils import timezone as djangotime
from rest_framework import status from rest_framework import status
@@ -51,3 +52,11 @@ def date_is_in_past(*, datetime_obj: "datetime", agent_tz: str) -> bool:
def get_webdomain() -> str: def get_webdomain() -> str:
return urlparse(settings.CORS_ORIGIN_WHITELIST[0]).netloc return urlparse(settings.CORS_ORIGIN_WHITELIST[0]).netloc
def rand_range(min: int, max: int) -> float:
"""
Input is milliseconds.
Returns float truncated to 2 decimals.
"""
return round(random.uniform(min, max) / 1000, 2)