@@ -31,9 +31,11 @@ def work(self):
3131
3232 self .pool .start ()
3333
34- self .pool .wait ()
35-
36- connections .mongodb_jobs .mrq_agents .delete_one ({"_id" : self .id })
34+ try :
35+ self .pool .wait ()
36+ finally :
37+ self .shutdown_now ()
38+ connections .mongodb_jobs .mrq_agents .delete_one ({"_id" : self .id })
3739
3840 def shutdown_now (self ):
3941 self .pool .terminate ()
@@ -81,7 +83,8 @@ def get_agent_report(self):
8183 "available_cpu" : get_current_config ()["available_cpu" ],
8284 "available_memory" : get_current_config ()["available_memory" ],
8385 "worker_group" : self .worker_group ,
84-
86+ "datereported" : datetime .datetime .utcnow (),
87+ "dateexpires" : datetime .datetime .utcnow () + datetime .timedelta (seconds = (self .config ["report_interval" ] * 3 ) + 5 )
8588 }
8689 return report
8790
@@ -184,8 +187,7 @@ def orchestrate(self):
184187 connections .mongodb_jobs .mrq_agents .update_one ({"_id" : agent ["_id" ]}, {"$set" : {
185188 "desired_workers" : agent ["new_desired_workers" ],
186189 "free_cpu" : agent ["free_cpu" ],
187- "free_memory" : agent ["free_memory" ],
188- "datereported" : datetime .datetime .utcnow ()
190+ "free_memory" : agent ["free_memory" ]
189191 }})
190192
191193 def get_desired_workers_for_group (self , group ):
@@ -206,4 +208,3 @@ def fetch_worker_group_agents(self):
206208
207209 def fetch_worker_group_definition (self ):
208210 return connections .mongodb_jobs .mrq_workergroups .find_one ({"_id" : self .worker_group })
209-
0 commit comments