1414from sentry .models .project import Project
1515from sentry .models .rule import Rule , RuleActivity , RuleActivityType , RuleSource
1616from 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+ )
1822
1923from .constants import MAX_TIMEOUT , TIMEOUT
2024from .models import CheckInStatus , Monitor , MonitorCheckIn
2327def signal_first_checkin (project : Project , monitor : Monitor ):
2428 if not project .flags .has_cron_checkins :
2529 # 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 )
2731 transaction .on_commit (
2832 lambda : first_cron_checkin_received .send_robust (
2933 project = project , monitor_id = str (monitor .guid ), sender = Project
@@ -32,13 +36,20 @@ def signal_first_checkin(project: Project, monitor: Monitor):
3236 )
3337
3438
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 ):
3640 if not project .flags .has_cron_monitors :
3741 first_cron_monitor_created .send_robust (
3842 project = project , user = user , from_upsert = from_upsert , sender = Project
3943 )
4044
4145
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+
4253# Generates a timeout_at value for new check-ins
4354def get_timeout_at (
4455 monitor_config : dict , status : CheckInStatus , date_added : Optional [datetime ]
0 commit comments