Ooops, not good
Could eventually be that resources are being tied up due to piled up requests. What I can imagine is the that the queue is growing out of boundary somehow. Let's assume an event is incoming, data being saved to db, report creation starts and this takes rather long time. Before the report is finished, an event from the same sensor is coming in. The result is that the request will be queued. Imagine this happens for several sensors...over and over
Just speculation, so therefore we need to check a bit further
To check the actual size of the queue, you can issue the following python command in the python shell
Code: Select all
eg.plugins.ClimateDataCalculation.plugin.q.qsize()
or as a python script
Code: Select all
print eg.plugins.ClimateDataCalculation.plugin.q.qsize()
If you notice the queue size not getting reduced when you run the script multiple times, I assume the whole thing will get saturated sooner or later. We could try to allow more threads by raising the upper limit (maybe set to 19 allowing 20 threads) and see if this works better.
1) How long time does it take to create your reports?
In my systems it takes
- a few seconds to generate a 10 min report covering the last 36 hours (system with SSD)
- around 15 seconds to generate a 10 min report covering the last 24 hours (system with normal HDD)
2) Do you log data every minute?
3) How long period do you cover when creating reports?
4) How many different reports are you creating?