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,
DebugLogType,
)
from tacticalrmm.helpers import rand_range
if TYPE_CHECKING:
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"
if not alert.email_sent:
sleep(random.randint(1, 5))
sleep(rand_range(100, 1500))
alert.agent.send_outage_email()
alert.email_sent = djangotime.now()
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
delta = djangotime.now() - dt.timedelta(days=alert_interval)
if alert.email_sent < delta:
sleep(random.randint(1, 5))
sleep(rand_range(100, 1500))
alert.agent.send_outage_email()
alert.email_sent = djangotime.now()
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:
from alerts.models import Alert
sleep(random.randint(1, 5))
sleep(rand_range(100, 1500))
try:
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"
if not alert.sms_sent:
sleep(random.randint(1, 3))
sleep(rand_range(100, 1500))
alert.agent.send_outage_sms()
alert.sms_sent = djangotime.now()
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
delta = djangotime.now() - dt.timedelta(days=alert_interval)
if alert.sms_sent < delta:
sleep(random.randint(1, 3))
sleep(rand_range(100, 1500))
alert.agent.send_outage_sms()
alert.sms_sent = djangotime.now()
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:
from alerts.models import Alert
sleep(random.randint(1, 3))
sleep(rand_range(100, 1500))
try:
alert = Alert.objects.get(pk=pk)
except Alert.DoesNotExist:

View File

@@ -13,6 +13,7 @@ from autotasks.models import AutomatedTask, TaskResult
from logs.models import DebugLog
from tacticalrmm.celery import app
from tacticalrmm.constants import DebugLogType
from tacticalrmm.helpers import rand_range
@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=alert.assigned_task, agent=alert.agent
)
sleep(random.randint(1, 5))
sleep(rand_range(100, 1500))
task_result.send_email()
alert.email_sent = djangotime.now()
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=alert.assigned_task, agent=alert.agent
)
sleep(random.randint(1, 5))
sleep(rand_range(100, 1500))
task_result.send_email()
alert.email_sent = djangotime.now()
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=alert.assigned_task, agent=alert.agent
)
sleep(random.randint(1, 3))
sleep(rand_range(100, 1500))
task_result.send_sms()
alert.sms_sent = djangotime.now()
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=alert.assigned_task, agent=alert.agent
)
sleep(random.randint(1, 3))
sleep(rand_range(100, 1500))
task_result.send_sms()
alert.sms_sent = djangotime.now()
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=alert.assigned_task, agent=alert.agent
)
sleep(random.randint(1, 3))
sleep(rand_range(100, 1500))
task_result.send_resolved_sms()
alert.resolved_sms_sent = djangotime.now()
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=alert.assigned_task, agent=alert.agent
)
sleep(random.randint(1, 5))
sleep(rand_range(100, 1500))
task_result.send_resolved_email()
alert.resolved_email_sent = djangotime.now()
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 checks.models import CheckResult
from tacticalrmm.celery import app
from tacticalrmm.helpers import rand_range
@app.task
@@ -24,7 +25,7 @@ def handle_check_email_alert_task(
check_result = CheckResult.objects.get(
assigned_check=alert.assigned_check, agent=alert.agent
)
sleep(random.randint(1, 5))
sleep(rand_range(100, 1500))
check_result.send_email()
alert.email_sent = djangotime.now()
alert.save(update_fields=["email_sent"])
@@ -36,7 +37,7 @@ def handle_check_email_alert_task(
check_result = CheckResult.objects.get(
assigned_check=alert.assigned_check, agent=alert.agent
)
sleep(random.randint(1, 5))
sleep(rand_range(100, 1500))
check_result.send_email()
alert.email_sent = djangotime.now()
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(
assigned_check=alert.assigned_check, agent=alert.agent
)
sleep(random.randint(1, 3))
sleep(rand_range(100, 1500))
check_result.send_sms()
alert.sms_sent = djangotime.now()
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(
assigned_check=alert.assigned_check, agent=alert.agent
)
sleep(random.randint(1, 3))
sleep(rand_range(100, 1500))
check_result.send_sms()
alert.sms_sent = djangotime.now()
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(
assigned_check=alert.assigned_check, agent=alert.agent
)
sleep(random.randint(1, 3))
sleep(rand_range(100, 1500))
check_result.send_resolved_sms()
alert.resolved_sms_sent = djangotime.now()
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(
assigned_check=alert.assigned_check, agent=alert.agent
)
sleep(random.randint(1, 5))
sleep(rand_range(100, 1500))
check_result.send_resolved_email()
alert.resolved_email_sent = djangotime.now()
alert.save(update_fields=["resolved_email_sent"])

View File

@@ -2,6 +2,7 @@ from typing import TYPE_CHECKING
from urllib.parse import urlparse
import pytz
import random
from django.conf import settings
from django.utils import timezone as djangotime
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:
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)