99
1010from const import GithubHeaders , LOGGING_CONFIG
1111from github import GithubJob
12+ from jobs import JobEventsHandler
1213from utils import dict_to_logfmt
1314
1415dictConfig (LOGGING_CONFIG )
2324if hasattr (logging , loglevel_flask ):
2425 loglevel_flask = getattr (logging , loglevel_flask )
2526 log .setLevel (loglevel_flask )
26- logging .getLogger (' apscheduler.executors.default' ).setLevel (logging .WARNING )
27+ logging .getLogger (" apscheduler.executors.default" ).setLevel (logging .WARNING )
2728
2829jobs = dict ()
30+ job_handler = JobEventsHandler ()
2931
3032
3133# check all calls are valid
@@ -50,7 +52,10 @@ def validate_origin_github():
5052
5153
5254def process_workflow_job ():
53- job = GithubJob (request .get_json ())
55+ event = request .get_json ()
56+ job_handler .process_event (event )
57+
58+ job = GithubJob (event )
5459
5560 context_details = {
5661 "action" : job .action ,
@@ -77,9 +82,7 @@ def process_workflow_job():
7782 app .logger .error (f"Job { job .id } was in progress before being queued" )
7883 del jobs [job .id ]
7984 else :
80- time_to_start = (
81- job .time_start - job_requested .time_start
82- ).seconds
85+ time_to_start = (job .time_start - job_requested .time_start ).seconds
8386
8487 context_details = {
8588 ** context_details ,
@@ -100,9 +103,7 @@ def process_workflow_job():
100103 app .logger .warning (f"Job { job .id } is { job .action } but not stored!" )
101104 time_to_finish = 0
102105 else :
103- time_to_finish = (
104- job .time_completed - job .time_start
105- ).seconds
106+ time_to_finish = (job .time_completed - job .time_start ).seconds
106107 # delete from memory
107108 del jobs [job .id ]
108109
@@ -124,7 +125,7 @@ def process_workflow_job():
124125 return True
125126
126127
127- @scheduler .task (' interval' , id = ' monitor_queued' , seconds = 30 )
128+ @scheduler .task (" interval" , id = " monitor_queued" , seconds = 30 )
128129def monitor_queued_jobs ():
129130 """Return the job that has been queued and not starting for long time."""
130131 app .logger .debug ("Starting monitor_queued_jobs" )
0 commit comments