I am running a Pi 3 B+ Sent from my iPhone
> On 13 Dec 2018, at 21:25, kutze...@gmail.com wrote: > > Your log indicates that the database is becoming locked, causing weewx to > terminate the Generator. > > What are you running weewx on? > Is it a Raspberry Pi? > If so, what model? > > I had similar problems when I was running weewx with the Belchertown skin on > a Raspberry Pi Zero W. The Pi Zero W took over 240 seconds to render the > graphs. My archive period is 5 minutes (300 seconds). When I added another > task to the Pi, it slowed down enough that weewx hung because the Belchertown > skin was trying to read the database at the same time that weewx was trying > to write archive data to the database. > > I moved my weewx implementation to a Raspberry Pi 3B+ and the Belchertown > graph rendering dropped to about 45 seconds and my problems went away. > > I suspect that's what's happening. to you. > > phil > >> On Thursday, December 13, 2018 at 2:50:16 PM UTC-5, Hector Valenzuela wrote: >> Hi Pat this is my problem. Most of the time weewx works well but there is a >> moment when the following error occurs, the page loses all graphics and 3 >> minutes later it works normally again. >> >> Dec 13 12:38:21 san_martin weewx[25357]: engine: Shutting down StdReport >> thread >> Dec 13 12:38:21 san_martin weewx[25357]: reportengine: Caught unrecoverable >> exception in generator weewx.cheetahgenerator.CheetahGenerator >> Dec 13 12:38:21 san_martin weewx[25357]: **** database is locked >> Dec 13 12:38:21 san_martin weewx[25357]: **** Traceback (most >> recent call last): >> Dec 13 12:38:21 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/reportengine.py", line 140, in run >> Dec 13 12:38:21 san_martin weewx[25357]: **** obj.start() >> Dec 13 12:38:21 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/reportengine.py", line 170, in start >> Dec 13 12:38:21 san_martin weewx[25357]: **** self.run() >> Dec 13 12:38:21 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/cheetahgenerator.py", line 143, in run >> Dec 13 12:38:21 san_martin weewx[25357]: **** ngen = >> self.generate(gen_dict[option_section_name], self.gen_ts) >> Dec 13 12:38:21 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/cheetahgenerator.py", line 206, in generate >> Dec 13 12:38:21 san_martin weewx[25357]: **** ngen += >> self.generate(section[subsection], gen_ts) >> Dec 13 12:38:21 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/cheetahgenerator.py", line 206, in generate >> Dec 13 12:38:21 san_martin weewx[25357]: **** ngen += >> self.generate(section[subsection], gen_ts) >> Dec 13 12:38:21 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/cheetahgenerator.py", line 290, in generate >> Dec 13 12:38:21 san_martin weewx[25357]: **** default_binding) >> Dec 13 12:38:21 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/cheetahgenerator.py", line 332, in _getSearchList >> Dec 13 12:38:21 san_martin weewx[25357]: **** searchList += >> obj.get_extension_list(timespan, db_lookup) >> Dec 13 12:38:21 san_martin weewx[25357]: **** File >> "/home/weewx/bin/user/belchertown_highchartsSearchX.py", line 1084, in >> get_extension_list >> Dec 13 12:38:21 san_martin weewx[25357]: **** (time_start_vt, >> time_stop_vt, radiation_vt) = db_lookup().getSqlVectors(TimeSpan(_start_ts, >> _end_ts), 'radiation', 'max', 86400) >> Dec 13 12:38:21 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/manager.py", line 496, in getSqlVectors >> Dec 13 12:38:21 san_martin weewx[25357]: **** aggregate_type, >> aggregate_interval) >> Dec 13 12:38:21 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/manager.py", line 723, in _getSqlVectors >> Dec 13 12:38:21 san_martin weewx[25357]: **** >> _cursor.execute(sql_str, stamp) >> Dec 13 12:38:21 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weedb/sqlite.py", line 37, in guarded_fn >> Dec 13 12:38:21 san_martin weewx[25357]: **** raise >> weedb.OperationalError(e) >> Dec 13 12:38:21 san_martin weewx[25357]: **** OperationalError: >> database is locked >> Dec 13 12:38:21 san_martin weewx[25357]: **** Generator >> terminated... >> Dec 13 12:38:23 san_martin weewx[25357]: reportengine: copied 0 files to >> /home/weewx/public_html/belchertown/images >> Dec 13 12:38:29 san_martin weewx[25357]: reportengine: Caught unrecoverable >> exception in generator weewx.cheetahgenerator.CheetahGenerator >> Dec 13 12:38:29 san_martin weewx[25357]: **** database is locked >> Dec 13 12:38:29 san_martin weewx[25357]: reportengine: Caught unrecoverable >> exception in generator weewx.cheetahgenerator.CheetahGenerator >> Dec 13 12:38:29 san_martin weewx[25357]: **** database is locked >> Dec 13 12:38:29 san_martin weewx[25357]: **** Traceback (most >> recent call last): >> Dec 13 12:38:29 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/reportengine.py", line 140, in run >> Dec 13 12:38:29 san_martin weewx[25357]: **** obj.start() >> Dec 13 12:38:29 san_martin weewx[25357]: **** Traceback (most >> recent call last): >> Dec 13 12:38:29 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/reportengine.py", line 170, in start >> Dec 13 12:38:29 san_martin weewx[25357]: **** self.run() >> Dec 13 12:38:29 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/reportengine.py", line 140, in run >> Dec 13 12:38:29 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/cheetahgenerator.py", line 143, in run >> Dec 13 12:38:29 san_martin weewx[25357]: **** obj.start() >> Dec 13 12:38:29 san_martin weewx[25357]: **** ngen = >> self.generate(gen_dict[option_section_name], self.gen_ts) >> Dec 13 12:38:29 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/reportengine.py", line 170, in start >> Dec 13 12:38:29 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/cheetahgenerator.py", line 206, in generate >> Dec 13 12:38:29 san_martin weewx[25357]: **** ngen += >> self.generate(section[subsection], gen_ts) >> Dec 13 12:38:29 san_martin weewx[25357]: **** self.run() >> Dec 13 12:38:29 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/cheetahgenerator.py", line 206, in generate >> Dec 13 12:38:29 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/cheetahgenerator.py", line 140, in run >> Dec 13 12:38:29 san_martin weewx[25357]: **** ngen += >> self.generate(section[subsection], gen_ts) >> Dec 13 12:38:29 san_martin weewx[25357]: **** >> self.initExtensions(gen_dict[option_section_name]) >> Dec 13 12:38:29 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/cheetahgenerator.py", line 290, in generate >> Dec 13 12:38:29 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/cheetahgenerator.py", line 177, in initExtensions >> Dec 13 12:38:29 san_martin weewx[25357]: **** default_binding) >> Dec 13 12:38:29 san_martin weewx[25357]: **** >> self.search_list_objs.append(class_(self)) >> Dec 13 12:38:29 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/cheetahgenerator.py", line 332, in _getSearchList >> Dec 13 12:38:29 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/cheetahgenerator.py", line 433, in __init__ >> Dec 13 12:38:29 san_martin weewx[25357]: **** searchList += >> obj.get_extension_list(timespan, db_lookup) >> Dec 13 12:38:29 san_martin weewx[25357]: **** archive = >> self.generator.db_binder.get_manager() >> Dec 13 12:38:29 san_martin weewx[25357]: **** File >> "/home/weewx/bin/user/belchertown_highchartsSearchX.py", line 1084, in >> get_extension_list >> Dec 13 12:38:29 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/manager.py", line 824, in get_manager >> Dec 13 12:38:29 san_martin weewx[25357]: **** (time_start_vt, >> time_stop_vt, radiation_vt) = db_lookup().getSqlVectors(TimeSpan(_start_ts, >> _end_ts), 'radiation', 'max', 86400) >> Dec 13 12:38:29 san_martin weewx[25357]: **** >> self.manager_cache[data_binding] = open_manager(manager_dict, initialize) >> Dec 13 12:38:29 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/manager.py", line 496, in getSqlVectors >> Dec 13 12:38:29 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/manager.py", line 976, in open_manager >> Dec 13 12:38:29 san_martin weewx[25357]: **** aggregate_type, >> aggregate_interval) >> Dec 13 12:38:29 san_martin weewx[25357]: **** >> manager_dict['table_name']) >> Dec 13 12:38:29 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/manager.py", line 723, in _getSqlVectors >> Dec 13 12:38:29 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/manager.py", line 102, in open >> Dec 13 12:38:29 san_martin weewx[25357]: **** >> _cursor.execute(sql_str, stamp) >> Dec 13 12:38:29 san_martin weewx[25357]: **** dbmanager = >> cls(connection, table_name) >> Dec 13 12:38:29 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weedb/sqlite.py", line 37, in guarded_fn >> Dec 13 12:38:29 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/manager.py", line 1109, in __init__ >> Dec 13 12:38:29 san_martin weewx[25357]: **** raise >> weedb.OperationalError(e) >> Dec 13 12:38:29 san_martin weewx[25357]: **** >> super(DaySummaryManager, self).__init__(connection, table_name, schema) >> Dec 13 12:38:29 san_martin weewx[25357]: **** OperationalError: >> database is locked >> Dec 13 12:38:29 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/manager.py", line 70, in __init__ >> Dec 13 12:38:29 san_martin weewx[25357]: **** Generator >> terminated... >> Dec 13 12:38:29 san_martin weewx[25357]: **** self.sqlkeys = >> self.connection.columnsOf(self.table_name) >> Dec 13 12:38:29 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weedb/sqlite.py", line 155, in columnsOf >> Dec 13 12:38:29 san_martin weewx[25357]: **** column_list = >> [row[1] for row in self.genSchemaOf(table)] >> Dec 13 12:38:29 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weedb/sqlite.py", line 144, in genSchemaOf >> Dec 13 12:38:29 san_martin weewx[25357]: **** for row in >> self.connection.execute("""PRAGMA table_info(%s);""" % table): >> Dec 13 12:38:29 san_martin weewx[25357]: **** OperationalError: >> database is locked >> Dec 13 12:38:29 san_martin weewx[25357]: **** Generator >> terminated... >> Dec 13 12:38:29 san_martin weewx[25357]: reportengine: copied 1 files to >> /home/weewx/public_html/belchertown/images >> Dec 13 12:38:29 san_martin weewx[25357]: reportengine: copied 0 files to >> /home/weewx/public_html/belchertown/images >> Dec 13 12:38:32 san_martin weewx[25357]: rsyncupload: rsync'd 17 files >> (1,964,298 bytes) in 3.29 seconds >> Dec 13 12:38:34 san_martin weewx[25357]: reportengine: Caught unrecoverable >> exception in generator weewx.cheetahgenerator.CheetahGenerator >> Dec 13 12:38:34 san_martin weewx[25357]: **** database is locked >> Dec 13 12:38:34 san_martin weewx[25357]: **** Traceback (most >> recent call last): >> Dec 13 12:38:34 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/reportengine.py", line 140, in run >> Dec 13 12:38:34 san_martin weewx[25357]: **** obj.start() >> Dec 13 12:38:34 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/reportengine.py", line 170, in start >> Dec 13 12:38:34 san_martin weewx[25357]: **** self.run() >> Dec 13 12:38:34 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/cheetahgenerator.py", line 143, in run >> Dec 13 12:38:34 san_martin weewx[25357]: **** ngen = >> self.generate(gen_dict[option_section_name], self.gen_ts) >> Dec 13 12:38:34 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/cheetahgenerator.py", line 206, in generate >> Dec 13 12:38:34 san_martin weewx[25357]: **** ngen += >> self.generate(section[subsection], gen_ts) >> Dec 13 12:38:34 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/cheetahgenerator.py", line 206, in generate >> Dec 13 12:38:34 san_martin weewx[25357]: **** ngen += >> self.generate(section[subsection], gen_ts) >> Dec 13 12:38:34 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/cheetahgenerator.py", line 290, in generate >> Dec 13 12:38:34 san_martin weewx[25357]: **** default_binding) >> Dec 13 12:38:34 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/cheetahgenerator.py", line 332, in _getSearchList >> Dec 13 12:38:34 san_martin weewx[25357]: **** searchList += >> obj.get_extension_list(timespan, db_lookup) >> Dec 13 12:38:34 san_martin weewx[25357]: **** File >> "/home/weewx/bin/user/belchertown_highchartsSearchX.py", line 1039, in >> get_extension_list >> Dec 13 12:38:34 san_martin weewx[25357]: **** (time_start_vt, >> time_stop_vt, rainRate_vt) = db_lookup().getSqlVectors(TimeSpan(_start_ts, >> _end_ts), 'rain', '', 86400) >> Dec 13 12:38:34 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/manager.py", line 496, in getSqlVectors >> Dec 13 12:38:34 san_martin weewx[25357]: **** aggregate_type, >> aggregate_interval) >> Dec 13 12:38:34 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/manager.py", line 742, in _getSqlVectors >> Dec 13 12:38:34 san_martin weewx[25357]: **** for _rec in >> _cursor.execute(sql_str, (startstamp, stopstamp)): >> Dec 13 12:38:34 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weedb/sqlite.py", line 37, in guarded_fn >> Dec 13 12:38:34 san_martin weewx[25357]: **** raise >> weedb.OperationalError(e) >> Dec 13 12:38:34 san_martin weewx[25357]: **** OperationalError: >> database is locked >> Dec 13 12:38:34 san_martin weewx[25357]: **** Generator >> terminated... >> Dec 13 12:38:34 san_martin weewx[25357]: reportengine: copied 0 files to >> /home/weewx/public_html/belchertown/images >> Dec 13 12:38:34 san_martin weewx[25357]: reportengine: Caught unrecoverable >> exception in generator weewx.cheetahgenerator.CheetahGenerator >> Dec 13 12:38:34 san_martin weewx[25357]: **** database is locked >> Dec 13 12:38:34 san_martin weewx[25357]: **** Traceback (most >> recent call last): >> Dec 13 12:38:34 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/reportengine.py", line 140, in run >> Dec 13 12:38:34 san_martin weewx[25357]: **** obj.start() >> Dec 13 12:38:34 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/reportengine.py", line 170, in start >> Dec 13 12:38:34 san_martin weewx[25357]: **** self.run() >> Dec 13 12:38:34 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/cheetahgenerator.py", line 140, in run >> Dec 13 12:38:34 san_martin weewx[25357]: **** >> self.initExtensions(gen_dict[option_section_name]) >> Dec 13 12:38:34 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/cheetahgenerator.py", line 177, in initExtensions >> Dec 13 12:38:34 san_martin weewx[25357]: **** >> self.search_list_objs.append(class_(self)) >> Dec 13 12:38:34 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/cheetahgenerator.py", line 433, in __init__ >> Dec 13 12:38:34 san_martin weewx[25357]: **** archive = >> self.generator.db_binder.get_manager() >> Dec 13 12:38:34 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/manager.py", line 824, in get_manager >> Dec 13 12:38:34 san_martin weewx[25357]: **** >> self.manager_cache[data_binding] = open_manager(manager_dict, initialize) >> Dec 13 12:38:34 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/manager.py", line 976, in open_manager >> Dec 13 12:38:34 san_martin weewx[25357]: **** >> manager_dict['table_name']) >> Dec 13 12:38:34 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/manager.py", line 102, in open >> Dec 13 12:38:34 san_martin weewx[25357]: **** dbmanager = >> cls(connection, table_name) >> Dec 13 12:38:34 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/manager.py", line 1109, in __init__ >> Dec 13 12:38:34 san_martin weewx[25357]: **** >> super(DaySummaryManager, self).__init__(connection, table_name, schema) >> Dec 13 12:38:34 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weewx/manager.py", line 70, in __init__ >> Dec 13 12:38:34 san_martin weewx[25357]: **** self.sqlkeys = >> self.connection.columnsOf(self.table_name) >> Dec 13 12:38:34 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weedb/sqlite.py", line 155, in columnsOf >> Dec 13 12:38:34 san_martin weewx[25357]: **** column_list = >> [row[1] for row in self.genSchemaOf(table)] >> Dec 13 12:38:34 san_martin weewx[25357]: **** File >> "/home/weewx/bin/weedb/sqlite.py", line 144, in genSchemaOf >> Dec 13 12:38:34 san_martin weewx[25357]: **** for row in >> self.connection.execute("""PRAGMA table_info(%s);""" % table): >> Dec 13 12:38:34 san_martin weewx[25357]: **** OperationalError: >> database is locked >> Dec 13 12:38:34 san_martin weewx[25357]: **** Generator >> terminated... >> Dec 13 12:38:34 san_martin weewx[25357]: reportengine: copied 1 files to >> /home/weewx/public_html/belchertown/images >> Dec 13 12:38:35 san_martin weewx[25357]: rsyncupload: rsync'd 1 files >> (40,464 bytes) in 1.33 seconds >> Dec 13 12:38:35 san_martin weewx[25357]: engine: Caught database >> OperationalError: database is locked >> Dec 13 12:38:35 san_martin weewx[25357]: **** Waiting 2 minutes then >> retrying... >> Dec 13 12:38:39 san_martin weewx[25357]: cheetahgenerator: Generated 13 >> files for report Belchertown in 5.24 seconds >> Dec 13 12:38:39 san_martin weewx[25357]: reportengine: copied 1 files to >> /home/weewx/public_html/belchertown/images >> Dec 13 12:38:40 san_martin weewx[25357]: rsyncupload: rsync'd 14 files >> (259,266 bytes) in 1.50 seconds >> >> >> El viernes, 7 de diciembre de 2018, 15:13:16 (UTC-7), Pat escribió: >>> >>> Done and done! To all, let's pick up the conversation there since this >>> thread is a bit too long now. >>> >>> >>> On Friday, December 7, 2018 at 4:25:46 PM UTC-5, gjr80 wrote: >>>> >>>> Pat, >>>> How about a new thread for the release of 0.8.1, I was given a ticket for >>>> loitering yesterday waiting for this thread to load :) >>>> >>>> Gary >>>> > > -- > You received this message because you are subscribed to the Google Groups > "weewx-user" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to weewx-user+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "weewx-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to weewx-user+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.