Comments (7)
The hard truth of this issue is that it's a reality of using SQLite3 as the DB. I think the workaround here would be to use PostgreSQL or something similar?
from geohealthcheck.
Possibly related: we find problems that the database is locked for writing when for some reason one of the remote services keeps holding the connection, sometimes for over 5 mins.
What I see in models.py
is that a DB.session.commit()
is done after all runs have completed where for each run a DB.session.add()
is done. In general that can take quite a while. I've also noticed that adding/updating resources on the hour may cause failures.
So the root cause is I think the long transaction/lock (during entire models.py run
).
A possible fix would be to have multiple short-lived transactions, one for each run just after completion of the run. I don't know what the performance impact would be, but this would make editing IMO at least less failure-prone.
from geohealthcheck.
Added a fix as described in my comment above: tested: managing (add/delete) Resources during healthcheck run is not a problem anymore in our case. Please test. Also added some print output showing Run timings and status.
from geohealthcheck.
@samperd does the fix work for you? You can test by adding resources while GHC is running checks.
from geohealthcheck.
@justb4 Thanks for applying this fix. I will work towards checking out this fix.
from geohealthcheck.
@samperd any news? Can we hopefully close the issue?
from geohealthcheck.
We assume the above fix works, at least for us it did. Closing issue, pls reopen if problem still exists.
from geohealthcheck.
Related Issues (20)
- Upgrade Docker image to newer version of Python HOT 1
- update minimum jquery version
- test mailserver configuration HOT 2
- Need new Mapbox Tilejson Unit tests
- Error when adding or testing Resource in web UI on demo site HOT 1
- Support for ESRI ArcGIS Server Mapservice HOT 2
- Make 1.3.0 default WMS version
- better indication while testing
- error report drilldown-all-layers wms should indicate which layer is failing
- Slow performance in frontend
- POST requests fail with resources requiring authentication HOT 1
- Python error loading data
- Better formatting for dates HOT 2
- Filter when clicking on "operational" and "broken"
- Show more details for probes
- Show the name of the chosen tag along with "dashboard"
- Show full resport on two columns to avoid having to vertical scroll the dialog
- Doc updates for new ReadTheDocs requirements HOT 1
- Unit test failures HOT 1
- default value for webhook URL
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from geohealthcheck.