@@ -221,39 +221,40 @@ def scheduler_event_listener(cls, event):
221221 if event_type == 'JobExecutionEvent' and event .exception :
222222 exception_info = str (event .exception )
223223 status = '1'
224- job_id = event .job_id
225- query_job = cls .get_scheduler_job (job_id = job_id )
226- if query_job :
227- query_job_info = query_job .__getstate__ ()
228- # 获取任务名称
229- job_name = query_job_info .get ('name' )
230- # 获取任务组名
231- job_group = query_job ._jobstore_alias
232- # 获取任务执行器
233- job_executor = query_job_info .get ('executor' )
234- # 获取调用目标字符串
235- invoke_target = query_job_info .get ('func' )
236- # 获取调用函数位置参数
237- job_args = ',' .join (query_job_info .get ('args' ))
238- # 获取调用函数关键字参数
239- job_kwargs = json .dumps (query_job_info .get ('kwargs' ))
240- # 获取任务触发器
241- job_trigger = str (query_job_info .get ('trigger' ))
242- # 构造日志消息
243- job_message = f"事件类型: { event_type } , 任务ID: { job_id } , 任务名称: { job_name } , 执行于{ datetime .now ().strftime ('%Y-%m-%d %H:%M:%S' )} "
244- job_log = JobLogModel (
245- jobName = job_name ,
246- jobGroup = job_group ,
247- jobExecutor = job_executor ,
248- invokeTarget = invoke_target ,
249- jobArgs = job_args ,
250- jobKwargs = job_kwargs ,
251- jobTrigger = job_trigger ,
252- jobMessage = job_message ,
253- status = status ,
254- exceptionInfo = exception_info ,
255- createTime = datetime .now (),
256- )
257- session = SessionLocal ()
258- JobLogService .add_job_log_services (session , job_log )
259- session .close ()
224+ if hasattr (event , 'job_id' ):
225+ job_id = event .job_id
226+ query_job = cls .get_scheduler_job (job_id = job_id )
227+ if query_job :
228+ query_job_info = query_job .__getstate__ ()
229+ # 获取任务名称
230+ job_name = query_job_info .get ('name' )
231+ # 获取任务组名
232+ job_group = query_job ._jobstore_alias
233+ # 获取任务执行器
234+ job_executor = query_job_info .get ('executor' )
235+ # 获取调用目标字符串
236+ invoke_target = query_job_info .get ('func' )
237+ # 获取调用函数位置参数
238+ job_args = ',' .join (query_job_info .get ('args' ))
239+ # 获取调用函数关键字参数
240+ job_kwargs = json .dumps (query_job_info .get ('kwargs' ))
241+ # 获取任务触发器
242+ job_trigger = str (query_job_info .get ('trigger' ))
243+ # 构造日志消息
244+ job_message = f"事件类型: { event_type } , 任务ID: { job_id } , 任务名称: { job_name } , 执行于{ datetime .now ().strftime ('%Y-%m-%d %H:%M:%S' )} "
245+ job_log = JobLogModel (
246+ jobName = job_name ,
247+ jobGroup = job_group ,
248+ jobExecutor = job_executor ,
249+ invokeTarget = invoke_target ,
250+ jobArgs = job_args ,
251+ jobKwargs = job_kwargs ,
252+ jobTrigger = job_trigger ,
253+ jobMessage = job_message ,
254+ status = status ,
255+ exceptionInfo = exception_info ,
256+ createTime = datetime .now (),
257+ )
258+ session = SessionLocal ()
259+ JobLogService .add_job_log_services (session , job_log )
260+ session .close ()
0 commit comments