Belchertown and "database is locked" error

155 views
Skip to first unread message

Rob Cranfill

unread,
Jun 1, 2024, 8:58:01 PMJun 1
to weewx-user
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

...



vince

unread,
Jun 1, 2024, 9:06:07 PMJun 1
to weewx-user
Your computer is too slow, or your SD card is too slow, or your archive period is too frequent (60 secs is very fast), or some combination of the above.   For Belchertown specifically, many folks have run into issues with v5 calculating items referenced in skins that are not elements in their db.  Check the earlier threads from this week for the handful that might be missing in your db.

At a minimum run 'weectl debug' and show us which DB elements are defined.  That's 114 elements in the default v4 and above schema.  If you see a number more like 51 or so, you're running the old schema and you'll need to add some fields (per the multiple other threads in the last week or so)

Archive info
  Database name:        vp2.sdb
  Table name:           archive
  Version               4.0
  Unit system:          1 (US)
  First good timestamp: 2006-11-29 19:24:00 PST (1164857040)
  Last good timestamp:  2024-06-01 09:10:00 PDT (1717258200)
  Number of records:    1713267
  weewx (weewx.conf) is set to use an archive interval of 300 seconds.
  The station hardware was not interrogated to determine the archive interval.

Supported SQL keys
  dateTime                  usUnits                   interval
  altimeter                 appTemp                   appTemp1
  barometer                 batteryStatus1            batteryStatus2
  batteryStatus3            batteryStatus4            batteryStatus5
  batteryStatus6            batteryStatus7            batteryStatus8
  cloudbase                 co                        co2
  consBatteryVoltage        dewpoint                  dewpoint1
  ET                        extraHumid1               extraHumid2
  extraHumid3               extraHumid4               extraHumid5
  extraHumid6               extraHumid7               extraHumid8
  extraTemp1                extraTemp2                extraTemp3
  extraTemp4                extraTemp5                extraTemp6
  extraTemp7                extraTemp8                forecast
  hail                      hailBatteryStatus         hailRate
  heatindex                 heatindex1                heatingTemp
  heatingVoltage            humidex                   humidex1
  inDewpoint                inHumidity                inTemp
  inTempBatteryStatus       leafTemp1                 leafTemp2
  leafWet1                  leafWet2                  lightning_distance
  lightning_disturber_count lightning_energy          lightning_noise_count
  lightning_strike_count    luminosity                maxSolarRad
  nh3                       no2                       noise
  o3                        outHumidity               outTemp
  outTempBatteryStatus      pb                        pm10_0
  pm1_0                     pm2_5                     pressure
  radiation                 rain                      rainBatteryStatus
  rainRate                  referenceVoltage          rxCheckPercent
  signal1                   signal2                   signal3
  signal4                   signal5                   signal6
  signal7                   signal8                   snow
  snowBatteryStatus         snowDepth                 snowMoisture
  snowRate                  so2                       soilMoist1
  soilMoist2                soilMoist3                soilMoist4
  soilTemp1                 soilTemp2                 soilTemp3
  soilTemp4                 supplyVoltage             txBatteryStatus
  UV                        uvBatteryStatus           windBatteryStatus
  windchill                 windDir                   windGust
  windGustDir               windrun                   windSpeed


Rob Cranfill

unread,
Jun 1, 2024, 10:50:48 PMJun 1
to weewx-user
Thanks, Vince. I read those other threads but didn't realize my particular error was from the same issue. I will look into it; meanwhile I've just turned Belchertown off.

vince

unread,
Jun 2, 2024, 11:42:00 AMJun 2
to weewx-user
This is documented (here) in the Belchertown issues in Pat's github repo....

Rob Cranfill

unread,
Jun 2, 2024, 7:56:05 PMJun 2
to weewx-user
Updated the DB. All looks good now, I think.

Just FYI, on my Pi4 with an SSD and a few years of records, the rebuild took this long:

rob@pi4:/var/lib/weewx $ weectl database rebuild-daily
Using configuration file /etc/weewx/weewx.conf
All daily summaries will be rebuilt.
Rebuild the daily summaries in the database 'weewx.sdb' (y/n)? y
Rebuilding daily summaries in database 'weewx.sdb' ...
Records processed: 2208000; time: 2024-06-02 04:55:00 PDT (1717329300)
Processed 2208530 records to rebuild 1538 daily summaries in 1784.55 seconds.
Rebuild of daily summaries in database 'weewx.sdb' complete.

:-)

Thanks again!

Tom Keffer

unread,
Jun 2, 2024, 8:03:31 PMJun 2
to weewx...@googlegroups.com
According to sqlite, all of their databases are cross-platform between big- and little-endian and between 32- and 64-bit hardware. So, if you have access to a faster machine, you can do the rebuild there, then copy the results over.

--
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+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/645740ae-ff23-46c4-9aac-331073c2ee9dn%40googlegroups.com.

Graham Eddy

unread,
Jun 3, 2024, 12:04:54 AMJun 3
to WeeWX User
if enough RAM on RPi, do it on ram disk (temporary mounts) rather than ssd - that got me around some strange (but massive) i/o latencies when migrating v3→v4 and converted hours database task to minutes
⊣GE⊢

Reply all
Reply to author
Forward
0 new messages