
On 2014年03月04日 20:23, Sheldon wrote:
Reviewed-by: ShaoHe Feng <shaohef@linux.vnet.ibm.com>
do you means this BackgroundTask? self.guests_stats_thread = BackgroundTask(GUESTS_STATS_INTERVAL, self._update_guests_stats)
we should avoid multiple times to run this BackgroundTask.
when refer get_list method? I'm afraid the there are server instances of VMsModel, but need to check where are these instances from the code. Thanks for your review, Sheldon, I will modify my commit msg on next version.
On 03/04/2014 06:14 PM, lvroyce@linux.vnet.ibm.com wrote:
From: Royce Lv <lvroyce@linux.vnet.ibm.com>
When refer vm model get_list method, the stats collection task will run multiple times. Make vms model class a singleton so that this task just run once.
Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com> --- src/kimchi/model/vms.py | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/src/kimchi/model/vms.py b/src/kimchi/model/vms.py index 3ae2048..449acdb 100644 --- a/src/kimchi/model/vms.py +++ b/src/kimchi/model/vms.py @@ -27,6 +27,7 @@ from cherrypy.process.plugins import BackgroundTask
from kimchi import vnc from kimchi import xmlutils +from kimchi.basemodel import Singleton from kimchi.exception import InvalidOperation, InvalidParameter from kimchi.exception import MissingParameter, NotFoundError, OperationFailed from kimchi.model.config import CapabilitiesModel @@ -52,6 +53,8 @@ stats = {}
class VMsModel(object): + __metaclass__ = Singleton + def __init__(self, **kargs): self.conn = kargs['conn'] self.objstore = kargs['objstore']