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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/weewx-user/818bc927-894e-4454-8f99-ab93b7d9c8cdn%40googlegroups.com.