Public
Like
glimpse2-runbook-view-glimpse-save-login-react
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Scheduled task handlers for automated system maintenance.
- Purpose: Cleans up stale viewing sessions that haven't received heartbeat updates
- Schedule: Every minute
- Threshold: Sessions older than 60 seconds without heartbeat updates
- Function: Marks stale sessions as not viewing and syncs to Notion
How Viewing Sessions Work:
The viewing system tracks user sessions through periodic heartbeat updates:
- Active Tracking: While users view pages, the frontend sends heartbeat updates every 10 seconds
- Session Detection: Sessions are considered active when they have recent heartbeat updates
- Stale Session Cleanup: This cron identifies sessions without heartbeats for 60+ seconds and marks them as inactive
Processing Flow:
- Lists all viewing blobs with prefix
glimpse--viewing--
- Checks each blob's
lastUpdate
timestamp - Identifies sessions where:
sessionStart
is not null (marked as actively viewing)lastUpdate
is older than 60 seconds (no recent heartbeat)
- Updates blob: sets
sessionStart
to null, updateslastUpdate
- Syncs to Notion: Sets "Session start" property to null
- Logs cleanup statistics and any errors
- Purpose: Cleans up orphaned agent blobs
- Schedule: Every minute
- Function: Deletes agent blobs where the agent ID doesn't match the demo's "Glimpse agents" relation in Notion
- Read-Only Notion: Only reads Notion data, never modifies it
- Blob Cleanup: Removes mismatched/orphaned blobs to keep storage synchronized with Notion
Cron schedules are managed through the Val Town web interface. Click on each cron file to modify its schedule as needed.