Bug 1329783 - Have gecko decision task determine when to call seta; r=jmaher

MozReview-Commit-ID: H3hnDqS6Vgy

--HG--
extra : rebase_source : 75458432d9bd758e89bf12289c306c160502291a
This commit is contained in:
Rob Wood 2017-01-19 16:00:33 -05:00
Родитель 4885d0ba4e
Коммит 349ec8590a
2 изменённых файлов: 8 добавлений и 2 удалений

Просмотреть файл

@ -96,7 +96,7 @@ class TransformTask(base.Task):
# we would like to return 'False, None' while it's high_value_task
# and we wouldn't optimize it. Otherwise, it will return 'True, None'
if is_low_value_task(self.label, params.get('project')):
if is_low_value_task(self.label, params.get('project'), params.get('pushlog_id')):
# Always optimize away low-value tasks
return True, None
else:

Просмотреть файл

@ -11,6 +11,8 @@ headers = {
# It's a list of project name which SETA is useful on
SETA_PROJECTS = ['mozilla-inbound', 'autoland']
PROJECT_SCHEDULE_ALL_EVERY = {'mozilla-inbound': 5, 'autoland': 5}
SETA_ENDPOINT = "https://seta.herokuapp.com/data/setadetails/?branch=%s"
@ -74,7 +76,11 @@ class SETA(object):
return low_value_tasks
def is_low_value_task(self, label, project):
def is_low_value_task(self, label, project, pushlog_id):
schedule_all_every = PROJECT_SCHEDULE_ALL_EVERY.get(project, 5)
# on every Nth push, want to run all tasks
if int(pushlog_id) % schedule_all_every == 0:
return False
# cache the low value tasks per project to avoid repeated SETA server queries
if project not in self.low_value_tasks:
self.low_value_tasks[project] = self.query_low_value_tasks(project)