Skip to content

Commit 15fdb50

Browse files
committed
small adjustments on the trigger info retrieval
1 parent 08a82b3 commit 15fdb50

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

dataikuapi/dss/scenario.py

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,20 +29,20 @@ def run(self, params={}):
2929
"POST", "/projects/%s/scenarios/%s/run" % (self.project_key, self.id), body=params)
3030
return DSSTriggerFire(self, trigger_fire)
3131

32-
def get_trigger(self, trigger_id, run_id):
32+
def get_trigger_fire(self, trigger_id, trigger_run_id):
3333
"""
3434
Requests a trigger of the run of a scenario
3535
3636
Args:
3737
trigger_id: Id of trigger
38-
run_id: Id of associated run
38+
trigger_run_id: Id of the run of the trigger
3939
4040
Returns:
4141
A :class:`dataikuapi.dss.admin.DSSTriggerFire` trigger handle
4242
"""
4343
trigger_fire = self.client._perform_json(
44-
"GET", "/projects/%s/scenarios/%s/get-trigger/%s" % (self.project_key, self.id, trigger_id), params={
45-
'runId' : run_id
44+
"GET", "/projects/%s/scenarios/trigger/%s/%s" % (self.project_key, self.id, trigger_id), params={
45+
'triggerRunId' : trigger_run_id
4646
})
4747
return DSSTriggerFire(self, trigger_fire)
4848

@@ -63,14 +63,13 @@ def run_and_wait(self, params={}):
6363
refresh_trigger_counter += 1
6464
if refresh_trigger_counter == 10:
6565
refresh_trigger_counter = 0
66-
trigger_fire = self.get_trigger(trigger_fire.trigger_id, trigger_fire.run_id)
67-
if trigger_fire.is_cancelled():
66+
if trigger_fire.is_cancelled(refresh=refresh_trigger_counter == 0):
6867
raise DataikuException("Scenario run has been cancelled")
6968
scenario_run = trigger_fire.get_scenario_run()
7069
time.sleep(5)
7170
while not scenario_run.run.get('result', False):
7271
scenario_run = trigger_fire.get_scenario_run()
73-
time.sleep(60)
72+
time.sleep(5)
7473
return scenario_run
7574

7675
def get_last_runs(self, limit=10, only_finished_runs=False):
@@ -239,5 +238,15 @@ def get_scenario_run(self):
239238
else:
240239
return DSSScenarioRun(self.client, run['scenarioRun'])
241240

242-
def is_cancelled(self):
241+
def is_cancelled(self, refresh=False):
242+
"""
243+
Whether the trigger has been cancelled
244+
245+
:param refresh: get the state of the trigger from the backend
246+
"""
247+
if refresh == True:
248+
self.trigger_fire = self.client._perform_json(
249+
"GET", "/projects/%s/scenarios/%s/get-trigger/%s" % (self.project_key, self.scenario_id, self.trigger_id), params={
250+
'runId' : self.run_id
251+
})
243252
return self.trigger_fire["cancelled"]

0 commit comments

Comments
 (0)