def max_current_jobs_ready(client: greenstalk.Client, tubes: List[Text]) -> int: """Get max current-jobs-ready from tubes specified""" max_jobs = 0 for tube in tubes: # We need to check for the existense of a beanstalk tube # to avoid "NOT_FOUND" exceptions in the case where the tubes # are empty before first init if tube not in client.tubes(): continue stats = client.stats_tube(tube) if stats: max_jobs = max(max_jobs, stats.get("current-jobs-ready", 0)) return max_jobs
def test_stats_tube(c: Client) -> None: assert c.stats_tube("default") == { "name": "default", "current-jobs-urgent": 0, "current-jobs-ready": 0, "current-jobs-reserved": 0, "current-jobs-delayed": 0, "current-jobs-buried": 0, "total-jobs": 0, "current-using": 0, "current-watching": 1, "current-waiting": 0, "cmd-delete": 0, "cmd-pause-tube": 0, "pause": 0, "pause-time-left": 0, }
def test_stats_tube(c: Client) -> None: assert c.stats_tube('default') == { 'name': 'default', 'current-jobs-urgent': 0, 'current-jobs-ready': 0, 'current-jobs-reserved': 0, 'current-jobs-delayed': 0, 'current-jobs-buried': 0, 'total-jobs': 0, 'current-using': 0, 'current-watching': 1, 'current-waiting': 0, 'cmd-delete': 0, 'cmd-pause-tube': 0, 'pause': 0, 'pause-time-left': 0, }