14
14
from sentry .models .project import Project
15
15
from sentry .models .rule import Rule , RuleActivity , RuleActivityType , RuleSource
16
16
from sentry .models .user import User
17
- from sentry .signals import first_cron_checkin_received , first_cron_monitor_created
17
+ from sentry .signals import (
18
+ cron_monitor_created ,
19
+ first_cron_checkin_received ,
20
+ first_cron_monitor_created ,
21
+ )
18
22
19
23
from .constants import MAX_TIMEOUT , TIMEOUT
20
24
from .models import CheckInStatus , Monitor , MonitorCheckIn
23
27
def signal_first_checkin (project : Project , monitor : Monitor ):
24
28
if not project .flags .has_cron_checkins :
25
29
# Backfill users that already have cron monitors
26
- signal_first_monitor_created (project , None , False )
30
+ check_and_signal_first_monitor_created (project , None , False )
27
31
transaction .on_commit (
28
32
lambda : first_cron_checkin_received .send_robust (
29
33
project = project , monitor_id = str (monitor .guid ), sender = Project
@@ -32,13 +36,20 @@ def signal_first_checkin(project: Project, monitor: Monitor):
32
36
)
33
37
34
38
35
- def signal_first_monitor_created (project : Project , user , from_upsert : bool ):
39
+ def check_and_signal_first_monitor_created (project : Project , user , from_upsert : bool ):
36
40
if not project .flags .has_cron_monitors :
37
41
first_cron_monitor_created .send_robust (
38
42
project = project , user = user , from_upsert = from_upsert , sender = Project
39
43
)
40
44
41
45
46
+ def signal_monitor_created (project : Project , user , from_upsert : bool ):
47
+ cron_monitor_created .send_robust (
48
+ project = project , user = user , from_upsert = from_upsert , sender = Project
49
+ )
50
+ check_and_signal_first_monitor_created (project , user , from_upsert )
51
+
52
+
42
53
# Generates a timeout_at value for new check-ins
43
54
def get_timeout_at (
44
55
monitor_config : dict , status : CheckInStatus , date_added : Optional [datetime ]
0 commit comments