Self-sustaining site monitor
Automation Status
Last run: 2026-07-26T21:11:27+00:00. Mode: hourly. Overall status: attention.
Open raw status JSON News Videos Agenda packets Finance transcripts
Current Totals
Last Run Jobs
| Job | Status | Time | Output |
|---|---|---|---|
| Discover agenda packets and build audit pages | ok | 4.76s | outputagenda packet auto: discovered=24 rendered=24 |
| Crawl official Miami Web TV videos | ok | 2.19s | outputCrawled 522 official Granicus videos Merged manifest now has 522 meetings Wrote /opt/miamiok-granicus-videos.json |
| Rebuild official/YouTube video API | failed | 0.08s | outputline 293, in load
return loads(fp.read(),
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/json/__init__.py", line 346, in loads
return _default_decoder.decode(s)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) |
| Pull YouTube channel uploads from YouTube API | ok | 2.07s | outputyoutube feed build: pulled=85 playlist=UUPEzVd4eQtJyVtOMt327PVA wrote=/var/www/exposemiamiok/html/youtube.html |
| Rebuild public videos page | failed | 0.16s | outputaw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Traceback (most recent call last):
File "/opt/youtube_gallery.py", line 180, in <module>
main()
File "/opt/youtube_gallery.py", line 60, in main
subprocess.run(["python3", "/opt/gen_videos_json.py"], check=True)
File "/usr/lib/python3.11/subprocess.py", line 571, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['python3', '/opt/gen_videos_json.py']' returned non-zero exit status 1. |
| Refresh local news RSS feeds | ok | 7.77s | outputwrote /var/www/exposemiamiok/html/data/local-news-feeds.json items=75 sources=12 |
| Rebuild site search index | ok | 4.49s | outputwrote /var/www/exposemiamiok/html/data/site-search-index.json records=836 |
| Crime watch feed aggregator | ok | 3.92s | outputJoplin man sentenced to more than 16 years in prison on child porn charges — Joplin Globe [ 6] Large fentanyl stash found in Joplin drug arrests — Joplin Globe [ 5] Florida murder suspect spotted near Oklahoma mall last week arrested at Miami ho — Google News - Miami [ 5] Inmate found unresponsive in Ottawa County jail; died in hospital - KOAM News No — Google News - Ottawa [ 5] Investigation underway after woman found dead in Ottawa County - FourStatesHomep — Google News - Ottawa [ 5] Shooting suspect pleas guilty to 2021 Ottawa County Murder - KOAM News Now — Google News - Ottawa |
| Normalize menu and logo shell | ok | 0.77s | outputfull menu updated checked=761 changed=35 version=20260601-unified-menu-agenda6 |
Schedule
Hourly: agenda packets, official videos, video page, RSS news, search, menu repair.
Daily: hourly jobs plus meeting attachment refresh, meetings index rebuild, YouTube transcript/API verification, video/search/menu refresh. The upload/caption batch runs from the dedicated 2:00 AM uploader.
Weekly: daily jobs plus City and Ottawa County finance downloads, finance transcript rebuild, audit-lead refresh, search/menu refresh.
