According to sqlite, all of their databases are cross-platform <https://www.sqlite.org/onefile.html> 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.
On Sun, Jun 2, 2024 at 4:56 PM Rob Cranfill <robcranf...@gmail.com> wrote: > 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! > > On Sunday, June 2, 2024 at 8:42:00 AM UTC-7 vince wrote: > >> 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/645740ae-ff23-46c4-9aac-331073c2ee9dn%40googlegroups.com > <https://groups.google.com/d/msgid/weewx-user/645740ae-ff23-46c4-9aac-331073c2ee9dn%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- 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/CAPq0zEBp58qW8w8KvSDumO101u0KumP-QnTMnKOwuZ8n%2BhTvLA%40mail.gmail.com.