Device/Host objects frequently poll the database for their data. The caches are
constantly invalidated and the inline requests add latency to all types of
requests.
Instead, the Monitor job should poll the database each time it runs, and
broadcast state data to the workers, which will pick up the changes
asyncronously.
Should reduce database load significantly and reduce lag on trackers.
Parent process will need to be adjusted so that it will only spawn a monitor
worker until the monitor job has ran once, otherwise there is no device data to
use.
The objects themselves will need to be rewritten to reflect this.
It should still be possible to directly fetch the database data from these
objects, which is used in the Query workers while talking with a user. (add
device, remove device, inspect device, etc).
Original issue reported on code.google.com by dorma...@rydia.net on 20 Sep 2010 at 12:39
Original issue reported on code.google.com by
dorma...@rydia.net
on 20 Sep 2010 at 12:39