Skip to content

Fix for #8918: Change the way we handle queued builds

Ed Bartosh yocto-toaster 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest7 patches 1 replyIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7toaster: implement signal_runbuilds functionbitbake/lib/toaster/orm/models.py+7 -10 replies
2/7toaster: notify runbuilds when build status changesbitbake/lib/bb/ui/buildinfohelper.py bitbake/lib/toaster/orm/models.py+6 -00 replies
3/7runbuilds: process builds on SIGUSR1bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py+4 -20 replies
4/7runbuilds: process builds on startbitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py+2 -00 replies
5/7runbuilds: code cleanup - whitespaces, long linesbitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py+15 -190 replies
6/7runbuilds: code cleanup - remove unused importsbitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py+2 -50 replies
7/7toaster: unlock BuildEnvirnoment when build is donebitbake/lib/bb/ui/buildinfohelper.py+5 -31 reply

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/7] Fix for #8918: Change the way we handle queued builds

Hi,

This patchset introduced a bit lighter way of handling builds. Instead of polling database every second we process builds only when runbuilds receives SIGUSR1. The signal is sent when build is either scheduled, canceled or finished. A little bit of code cleanup is also included into this patchset.

Test instructions:
- Create multiple builds in UI. Check if they'll be built sequentially
- Create multiple builds in UI, cancel one. Check if the next one starts building.
- Repeat first two test cases when command line build is run. Only one UI build should be run in parallel with command line build.
- Test any other combinations of running and cancelling builds to make sure there are no regressions.

The following changes since commit 75927f8f6809b9b4696fc438b240bc7a3db561e2:

toaster: don't kill all runserver processes (2016-09-05 15:32:25 +0100)

are available in the git repository at:

git://git.yoctoproject.org/poky-contrib ed/toaster/nopoll-queued-builds-8918
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=ed/toaster/nopoll-queued-builds-8918

Ed Bartosh (7):
toaster: implement signal_runbuilds function
toaster: notify runbuilds when build status changes
runbuilds: process builds on SIGUSR1
runbuilds: process builds on start
runbuilds: code cleanup - whitespaces, long lines
runbuilds: code cleanup - remove unused imports
toaster: unlock BuildEnvirnoment when build is done

 bitbake/lib/bb/ui/buildinfohelper.py               | 12 ++++--
 .../bldcontrol/management/commands/runbuilds.py    | 49 ++++++++++------------
 bitbake/lib/toaster/orm/models.py                  | 10 ++++-
 3 files changed, 41 insertions(+), 30 deletions(-)

--
Regards,
Ed