This is documented (here) <https://github.com/poblabs/weewx-belchertown/issues/924> in the Belchertown issues in Pat's github repo....
On Saturday, June 1, 2024 at 7:50:48 PM UTC-7 Rob Cranfill wrote: > 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. > > On Saturday, June 1, 2024 at 6:06:07 PM UTC-7 vince wrote: > >> 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 >> >> On Saturday, June 1, 2024 at 5:58:01 PM UTC-7 Rob Cranfill wrote: >> >>> 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 >>> >>> ... >>> >>> >>> >>> -- 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. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/818bc927-894e-4454-8f99-ab93b7d9c8cdn%40googlegroups.com.