# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/.
import json import os import sys import time
import requests from mozbuild.util import memoize from taskgraph import create from taskgraph.util.taskcluster import requests_retry_session
try: # TODO(py3): use time.monotonic() from time import monotonic except ImportError: from time import time as monotonic
# On try there is no fallback and pulling is slower, so we allow bugbug more # time to compute the results. # See https://github.com/mozilla/bugbug/issues/1673.
timeout = RETRY_TIMEOUT if branch == "try":
timeout += int(timeout / 3)
attempts = timeout / RETRY_INTERVAL
i = 0 while i < attempts:
r = session.get(url)
r.raise_for_status()
if r.status_code != 202: break
time.sleep(RETRY_INTERVAL)
i += 1
end = monotonic()
_write_perfherder_data(
lower_is_better={ "bugbug_push_schedules_time": end - start, "bugbug_push_schedules_retries": i,
}
)
data = r.json() if r.status_code == 202: raise BugbugTimeoutException(f"Timed out waiting for result from '{url}'")
if"groups"in data:
data["groups"] = {translate_group(k): v for k, v in data["groups"].items()}
if"config_groups"in data:
data["config_groups"] = {
translate_group(k): v for k, v in data["config_groups"].items()
}
return data
¤ Dauer der Verarbeitung: 0.15 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.