Upgraded to 4.10 to 5.0.2, thanks to help here. But now my Belchertown is dying and restarting the whole shebang with a "database is locked" error.
Ideas?
Jun 01 17:45:41 pi4 weewxd[3438608]: INFO __main__: retrying...
Jun 01 17:45:41 pi4 weewxd[3438608]: INFO weewx.engine: Loading station type Vantage (weewx.drivers.vantage)
Jun 01 17:45:41 pi4 weewxd[3438608]: INFO weewx.engine: StdConvert target unit is 0x1
Jun 01 17:45:41 pi4 weewxd[3438608]: INFO weewx.wxservices: StdWXCalculate will use data binding wx_binding
Jun 01 17:45:41 pi4 weewxd[3438608]: INFO weewx.engine: Archive will use data binding wx_binding
Jun 01 17:45:41 pi4 weewxd[3438608]: INFO weewx.engine: Record generation will be attempted in 'hardware'
Jun 01 17:45:41 pi4 weewxd[3438608]: INFO weewx.engine: The archive interval in the configuration file (300) does not match the station hardware interval (60).
Jun 01 17:45:41 pi4 weewxd[3438608]: INFO weewx.engine: Using archive interval of 60 seconds (specified by hardware)
Jun 01 17:45:41 pi4 weewxd[3438608]: INFO weewx.restx: StationRegistry: Station will be registered.
Jun 01 17:45:41 pi4 weewxd[3438608]: INFO weewx.restx: Wunderground-PWS: Data for station KWASEATT418 will be posted
Jun 01 17:45:41 pi4 weewxd[3438608]: INFO weewx.restx: PWSWeather: Data for station SEAWALL01 will be posted
Jun 01 17:45:41 pi4 weewxd[3438608]: INFO weewx.restx: CWOP: Posting not enabled.
Jun 01 17:45:41 pi4 weewxd[3438608]: INFO weewx.restx: WOW: Posting not enabled.
Jun 01 17:45:41 pi4 weewxd[3438608]: INFO weewx.restx: AWEKAS: Posting not enabled.
Jun 01 17:45:41 pi4 weewxd[3438608]: INFO weewx.engine: 'pyephem' detected, extended almanac data is available
Jun 01 17:45:41 pi4 weewxd[3438608]: INFO __main__: Starting up weewx version 5.0.2
Jun 01 17:45:42 pi4 weewxd[3438608]: INFO weewx.engine: Clock error is -0.23 seconds (positive is fast)
Jun 01 17:45:42 pi4 weewxd[3438608]: INFO weewx.engine: Using binding 'wx_binding' to database 'weewx.sdb'
Jun 01 17:45:42 pi4 weewxd[3438608]: INFO weewx.manager: Starting backfill of daily summaries
Jun 01 17:45:42 pi4 weewxd[3438608]: INFO weewx.manager: Daily summaries up to date
Jun 01 17:45:43 pi4 weewxd[3438608]: INFO weewx.engine: Starting main packet loop.
Jun 01 17:45:46 pi4 weewxd[3438608]: ERROR weewx.restx: StationRegistry: Failed to publish record 2024-06-01 17:43:00 PDT (1717288980): HTTP Error 429: TOO MANY REQUESTS
Jun 01 17:47:20 pi4 weewxd[3438608]: INFO weewx.engine: Main loop exiting. Shutting engine down.
Jun 01 17:47:20 pi4 weewxd[3438608]: INFO weewx.engine: Shutting down StdReport thread
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: Evaluation of template /etc/weewx/skins/Belchertown/json/weewx_data.json.tmpl failed with exception '<class 'weedb.OperationalError'>'
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** Ignoring template /etc/weewx/skins/Belchertown/json/weewx_data.json.tmpl
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** Reason: database is locked
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** Traceback (most recent call last):
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** File "/usr/share/weewx/weedb/sqlite.py", line 38, in guarded_fn
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** return fn(*args, **kwargs)
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** ^^^^^^^^^^^^^^^^^^^
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** File "/usr/share/weewx/weedb/sqlite.py", line 233, in execute
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** return sqlite3.Cursor.execute(self, *args, **kwargs)
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** sqlite3.OperationalError: database is locked
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: ****
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** During handling of the above exception, another exception occurred:
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: ****
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** Traceback (most recent call last):
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line 334, in generate
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** unicode_string = compiled_template.respond()
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** File "_etc_weewx_skins_Belchertown_json_weewx_data_json_tmpl.py", line 3368, in respond
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line 797, in filter
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** filtered = str(val)
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** ^^^^^^^^
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** File "/usr/share/weewx/weewx/tags.py", line 486, in __str__
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** vh = self._do_query()
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** ^^^^^^^^^^^^^^^^
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** File "/usr/share/weewx/weewx/tags.py", line 500, in _do_query
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** result = weewx.xtypes.get_aggregate(self.obs_type, self.timespan,
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** File "/usr/share/weewx/weewx/xtypes.py", line 136, in get_aggregate
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** return xtype.get_aggregate(obs_type, timespan, aggregate_type, db_manager,
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** File "/usr/share/weewx/weewx/xtypes.py", line 599, in get_aggregate
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** row = db_manager.getSql(DailySummaries.agg_sql_dict[aggregate_type] % inter_dict)
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** File "/usr/share/weewx/weewx/manager.py", line 579, in getSql
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** _cursor.execute(sql, sqlargs)
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** File "/usr/share/weewx/weedb/sqlite.py", line 52, in guarded_fn
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** raise weedb.OperationalError(e)
Jun 01 17:47:32 pi4 weewxd[3438608]: ERROR weewx.cheetahgenerator: **** weedb.OperationalError: database is locked
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: Caught unrecoverable exception in generator 'weewx.cheetahgenerator.CheetahGenerator'
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** database is locked
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** Traceback (most recent call last):
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** File "/usr/share/weewx/weedb/sqlite.py", line 38, in guarded_fn
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** return fn(*args, **kwargs)
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** ^^^^^^^^^^^^^^^^^^^
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** File "/usr/share/weewx/weedb/sqlite.py", line 233, in execute
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** return sqlite3.Cursor.execute(self, *args, **kwargs)
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** sqlite3.OperationalError: database is locked
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: ****
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** During handling of the above exception, another exception occurred:
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: ****
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** Traceback (most recent call last):
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/reportengine.py", line 220, in run
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** obj.start()
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/reportengine.py", line 409, in start
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** self.run()
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line 166, in run
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** ngen = self.generate(gen_dict[section_name], section_name, self.gen_ts)
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line 226, in generate
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** ngen += self.generate(section[subsection], subsection, gen_ts)
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line 226, in generate
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** ngen += self.generate(section[subsection], subsection, gen_ts)
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line 244, in generate
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** start_ts = default_archive.firstGoodStamp()
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/manager.py", line 330, in firstGoodStamp
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** _row = self.getSql("SELECT MIN(dateTime) FROM %s" % self.table_name)
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/manager.py", line 579, in getSql
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** _cursor.execute(sql, sqlargs)
Jun 01 17:47:37 pi4 weewxd[3438608]: Traceback (most recent call last):
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** File "/usr/share/weewx/weedb/sqlite.py", line 52, in guarded_fn
Jun 01 17:47:37 pi4 weewxd[3438608]: File "/usr/share/weewx/weedb/sqlite.py", line 38, in guarded_fn
Jun 01 17:47:37 pi4 weewxd[3438608]: return fn(*args, **kwargs)
Jun 01 17:47:37 pi4 weewxd[3438608]: ^^^^^^^^^^^^^^^^^^^
Jun 01 17:47:37 pi4 weewxd[3438608]: File "/usr/share/weewx/weedb/sqlite.py", line 233, in execute
Jun 01 17:47:37 pi4 weewxd[3438608]: return sqlite3.Cursor.execute(self, *args, **kwargs)
Jun 01 17:47:37 pi4 weewxd[3438608]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 01 17:47:37 pi4 weewxd[3438608]: sqlite3.OperationalError: database is locked
Jun 01 17:47:37 pi4 weewxd[3438608]: During handling of the above exception, another exception occurred:
Jun 01 17:47:37 pi4 weewxd[3438608]: Traceback (most recent call last):
Jun 01 17:47:37 pi4 weewxd[3438608]: File "/usr/share/weewx/weewx/reportengine.py", line 220, in run
Jun 01 17:47:37 pi4 weewxd[3438608]: obj.start()
Jun 01 17:47:37 pi4 weewxd[3438608]: File "/usr/share/weewx/weewx/reportengine.py", line 409, in start
Jun 01 17:47:37 pi4 weewxd[3438608]: self.run()
Jun 01 17:47:37 pi4 weewxd[3438608]: File "/usr/share/weewx/weewx/cheetahgenerator.py", line 166, in run
Jun 01 17:47:37 pi4 weewxd[3438608]: ngen = self.generate(gen_dict[section_name], section_name, self.gen_ts)
Jun 01 17:47:37 pi4 weewxd[3438608]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 01 17:47:37 pi4 weewxd[3438608]: File "/usr/share/weewx/weewx/cheetahgenerator.py", line 226, in generate
Jun 01 17:47:37 pi4 weewxd[3438608]: ngen += self.generate(section[subsection], subsection, gen_ts)
Jun 01 17:47:37 pi4 weewxd[3438608]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 01 17:47:37 pi4 weewxd[3438608]: File "/usr/share/weewx/weewx/cheetahgenerator.py", line 226, in generate
Jun 01 17:47:37 pi4 weewxd[3438608]: ngen += self.generate(section[subsection], subsection, gen_ts)
Jun 01 17:47:37 pi4 weewxd[3438608]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 01 17:47:37 pi4 weewxd[3438608]: File "/usr/share/weewx/weewx/cheetahgenerator.py", line 244, in generate
Jun 01 17:47:37 pi4 weewxd[3438608]: start_ts = default_archive.firstGoodStamp()
Jun 01 17:47:37 pi4 weewxd[3438608]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 01 17:47:37 pi4 weewxd[3438608]: File "/usr/share/weewx/weewx/manager.py", line 330, in firstGoodStamp
Jun 01 17:47:37 pi4 weewxd[3438608]: _row = self.getSql("SELECT MIN(dateTime) FROM %s" % self.table_name)
Jun 01 17:47:37 pi4 weewxd[3438608]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jun 01 17:47:37 pi4 weewxd[3438608]: File "/usr/share/weewx/weewx/manager.py", line 579, in getSql
Jun 01 17:47:37 pi4 weewxd[3438608]: _cursor.execute(sql, sqlargs)
Jun 01 17:47:37 pi4 weewxd[3438608]: File "/usr/share/weewx/weedb/sqlite.py", line 52, in guarded_fn
Jun 01 17:47:37 pi4 weewxd[3438608]: raise weedb.OperationalError(e)
Jun 01 17:47:37 pi4 weewxd[3438608]: weedb.OperationalError: database is locked
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** raise weedb.OperationalError(e)
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** weedb.OperationalError: database is locked
Jun 01 17:47:37 pi4 weewxd[3438608]: ERROR weewx.reportengine: **** Generator terminated
Jun 01 17:47:40 pi4 weewxd[3438608]: ERROR weewx.engine: Unable to shut down StdReport thread
Jun 01 17:47:41 pi4 weewxd[3438608]: CRITICAL __main__: Database OperationalError exception: database is locked
Jun 01 17:47:41 pi4 weewxd[3438608]: CRITICAL __main__: **** Waiting 2 minutes then retrying...
Jun 01 17:49:41 pi4 weewxd[3438608]: INFO __main__: retrying...
Jun 01 17:49:41 pi4 weewxd[3438608]: INFO weewx.engine: Loading station type Vantage (weewx.drivers.vantage)
Jun 01 17:49:41 pi4 weewxd[3438608]: INFO weewx.engine: StdConvert target unit is 0x1
Jun 01 17:49:41 pi4 weewxd[3438608]: INFO weewx.wxservices: StdWXCalculate will use data binding wx_binding
Jun 01 17:49:41 pi4 weewxd[3438608]: INFO weewx.engine: Archive will use data binding wx_binding
Jun 01 17:49:41 pi4 weewxd[3438608]: INFO weewx.engine: Record generation will be attempted in 'hardware'
Jun 01 17:49:41 pi4 weewxd[3438608]: INFO weewx.engine: The archive interval in the configuration file (300) does not match the station hardware interval (60).
Jun 01 17:49:41 pi4 weewxd[3438608]: INFO weewx.engine: Using archive interval of 60 seconds (specified by hardware)
Jun 01 17:49:41 pi4 weewxd[3438608]: INFO weewx.restx: StationRegistry: Station will be registered.
Jun 01 17:49:41 pi4 weewxd[3438608]: INFO weewx.restx: Wunderground-PWS: Data for station KWASEATT418 will be posted
Jun 01 17:49:41 pi4 weewxd[3438608]: INFO weewx.restx: PWSWeather: Data for station SEAWALL01 will be posted
Jun 01 17:49:41 pi4 weewxd[3438608]: INFO weewx.restx: CWOP: Posting not enabled.
Jun 01 17:49:41 pi4 weewxd[3438608]: INFO weewx.restx: WOW: Posting not enabled.
Jun 01 17:49:41 pi4 weewxd[3438608]: INFO weewx.restx: AWEKAS: Posting not enabled.
Jun 01 17:49:41 pi4 weewxd[3438608]: INFO weewx.engine: 'pyephem' detected, extended almanac data is available
Jun 01 17:49:41 pi4 weewxd[3438608]: INFO __main__: Starting up weewx version 5.0.2
Jun 01 17:49:42 pi4 weewxd[3438608]: INFO weewx.engine: Clock error is -1.13 seconds (positive is fast)
Jun 01 17:49:42 pi4 weewxd[3438608]: INFO weewx.engine: Using binding 'wx_binding' to database 'weewx.sdb'
Jun 01 17:49:42 pi4 weewxd[3438608]: INFO weewx.manager: Starting backfill of daily summaries
Jun 01 17:49:42 pi4 weewxd[3438608]: INFO weewx.manager: Daily summaries up to date
Jun 01 17:49:43 pi4 weewxd[3438608]: INFO weewx.engine: Starting main packet loop.
Jun 01 17:50:21 pi4 weewxd[3438608]: ERROR weewx.restx: StationRegistry: Failed to publish record 2024-06-01 17:47:00 PDT (1717289220): HTTP Error 429: TOO MANY REQUESTS
...