layerindex-web/layerindex
Robert Yang 430ca8c639 update_layer.py: move layer validation to update.py (Performance improve)
The utils.setup_django() costs a lot of time, but both update.py and
update_layer.py call it, so move layer validation from update_layer.py
to update.py to avoid calling update_layer.py when possible can save a
lot of time.

Now we don't have to call update_layer.py in the following cases:
* The branch doesn't exist
* The layer is already update to date on specified branch (when no
  reload)
* The layer dir or conf/layer.layer doesn't exist

We can save up to 98% time in my testing:

$ update.py -b master --nofetch [--fullreload]

                   Before    Now       Reduced
No update:         276s       3.6s      98%
Partial update:    312s      87s        72%
Full reload:      1016s     980s         3%

Note:
* All of the testing are based on --nofetch

* "No update" means all layers on the branch is up-to-date, for
  example, when we run it twice, there is no update in the second run,
  so we only need about 3s now, which is the most common case when we
  use cron to run it per half an hour.

* "Partial update" means part of the layers have been updated.

* "Full reload" means all of the layers have been updated.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2018-04-24 10:13:39 +12:00
..
migrations update_layer.py: Save and show recipe dependencies 2017-12-18 09:01:29 +13:00
static Indicate if layer has YP Compatible certification 2017-09-27 15:26:24 +13:00
templatetags Support (and require) Python 3 2016-06-12 11:33:08 +12:00
tools layerconfparse.py: remove unused layerbranch from parse_layer() 2017-07-21 08:14:57 +02:00
__init__.py Initial commit of layerindex-web 2013-02-13 12:09:57 +00:00
admin.py admin: fix dependency display and search 2017-12-21 16:14:17 +13:00
bulkchange.py layerindex: Update tinfoil to call shutdown method 2017-01-11 21:56:35 +13:00
context_processors.py context_processors.py: adjust default site name 2018-03-26 08:27:40 +13:00
forms.py layerindex: add "No update" status to LayerItem 2017-03-14 15:19:53 +13:00
layerconfparse.py layerconfparse.py: remove unused layerbranch from parse_layer() 2017-07-21 08:14:57 +02:00
models.py Explicitly handle too-long field values 2018-01-09 17:13:11 +13:00
querysethelper.py Handle __isnull in API query filtering 2018-02-05 10:58:37 +13:00
recipedesc.py layerindex: Update tinfoil to call shutdown method 2017-01-11 21:56:35 +13:00
recipeparse.py Don't show "Starting bitbake server" in update log 2017-09-27 14:48:41 +13:00
restperm.py expose REST API for layerindex 2014-09-24 11:32:34 +01:00
restviews.py restviews: add additional layer view with extra nested fields 2018-02-07 11:27:48 +13:00
simplesearch.py Improve recipe search 2013-02-19 17:22:45 +00:00
tasks.py Asynchronous email notifications, task execution 2017-09-01 16:59:43 +12:00
update_layer.py update_layer.py: move layer validation to update.py (Performance improve) 2018-04-24 10:13:39 +12:00
update.py update_layer.py: move layer validation to update.py (Performance improve) 2018-04-24 10:13:39 +12:00
urls_branch.py templates/layerindex/classes.html: Add bbclass search 2017-11-07 16:54:46 +13:00
urls.py Add statistics page 2018-02-20 16:00:13 +13:00
utils.py update.py: add an option --timeout for lockfile 2018-04-24 10:12:35 +12:00
views.py Add statistics page 2018-02-20 16:00:13 +13:00