Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(380)

Side by Side Diff: appengine/swarming/server/bot_management.py

Issue 2832203002: task_queues: Add more scaffolding (Closed)
Patch Set: Addressed comments Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « appengine/swarming/queue.yaml ('k') | appengine/swarming/server/task_queues.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The LUCI Authors. All rights reserved. 1 # Copyright 2014 The LUCI Authors. All rights reserved.
2 # Use of this source code is governed under the Apache License, Version 2.0 2 # Use of this source code is governed under the Apache License, Version 2.0
3 # that can be found in the LICENSE file. 3 # that can be found in the LICENSE file.
4 4
5 """Swarming bot management, e.g. list of known bots and their state. 5 """Swarming bot management, e.g. list of known bots and their state.
6 6
7 +---------+ 7 +---------+
8 |BotRoot | 8 |BotRoot |
9 |id=bot_id| 9 |id=bot_id|
10 +---------+ 10 +---------+
11 | 11 |
12 +------+-------+---------------+---------+----- ... -----+ 12 +-----++-------+---------------+---------+----- ... -----+
13 | | | | | 13 | | | | | |
14 v v v v v 14 v | v v v v
15 +-------+ +-----------+ +--------+ +--------+ +--------+ 15 +-------+ | +-----------+ +--------+ +--------+ +--------+
16 |BotInfo| |BotSettings| |BotEvent| |BotEvent| ... |BotEvent| 16 |BotInfo| | |BotSettings| |BotEvent| |BotEvent| ... |BotEvent|
17 |id=info| |id=settings| |id=fffff| |if=ffffe| ... |id=00000| 17 |id=info| | |id=settings| |id=fffff| |if=ffffe| ... |id=00000|
18 +-------+ +-----------+ +--------+ +--------+ +--------+ 18 +-------+ | +-----------+ +--------+ +--------+ +--------+
19 |
20 +--------------------+
21 | |
22 v v
23 +-------------------+ +-------------------+
24 |BotTaskDimensions | ... |BotTaskDimensions |
25 |id=<dimension_hash>| ... |id=<dimension_hash>| <task_queues.py>
26 +-------------------+ +-------------------+
19 27
20 +--------Root--------+ 28 +--------Root--------+
21 |DimensionAggregation| 29 |DimensionAggregation|
22 |id='current' | 30 |id='current' |
23 +--------------------+ 31 +--------------------+
24 32
25 - BotEvent is a monotonically inserted entity that is added for each event 33 - BotEvent is a monotonically inserted entity that is added for each event
26 happening for the bot. 34 happening for the bot.
27 - BotInfo is a 'dump-only' entity used for UI, it permits quickly show the 35 - BotInfo is a 'dump-only' entity used for UI, it permits quickly show the
28 state of every bots in an single query. It is basically a cache of the last 36 state of every bots in an single query. It is basically a cache of the last
(...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after
456 Returns: 464 Returns:
457 Tuple (True to restart, text message explaining the reason). 465 Tuple (True to restart, text message explaining the reason).
458 """ 466 """
459 # Periodically reboot bots to workaround OS level leaks (especially on Win). 467 # Periodically reboot bots to workaround OS level leaks (especially on Win).
460 running_time = state.get('running_time', 0) 468 running_time = state.get('running_time', 0)
461 assert isinstance(running_time, (int, float)) 469 assert isinstance(running_time, (int, float))
462 period = get_bot_reboot_period(bot_id, state) 470 period = get_bot_reboot_period(bot_id, state)
463 if period and running_time > period: 471 if period and running_time > period:
464 return True, 'Periodic reboot: running longer than %ds' % period 472 return True, 'Periodic reboot: running longer than %ds' % period
465 return False, '' 473 return False, ''
OLDNEW
« no previous file with comments | « appengine/swarming/queue.yaml ('k') | appengine/swarming/server/task_queues.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698