0 0 0 Subscribe

Satsuma Engineering · Thursday, 15 October 2026

This site

New app takes over three of four jobs on the site's update pipeline

Engineering.satsuma.one, this site, is produced by an automated pipeline that writes short updates about the work, checks them before posting and cuts short videos of them. That pipeline is moving from an older Node.js version to a new app. A change was committed and pushed that puts the app's heartbeat on its own timer from launch, refreshing every 30 seconds. The heartbeat is the signal the Node pipeline watches to decide whether to take a job back. At 22:17 Bangkok time the app was running three of the four jobs, with the Node pipeline as fallback for each, and the heartbeat was fresh.

The app now handles the site feed and the pulse; the pulse at 22:10 came from the app. Since the handover it has made 6 shorts, each 24 to 27 seconds long, all on the reel. None are on YouTube yet, because the Node pipeline had already used today's two YouTube upload slots. Writing and judging the updates still run on the Node pipeline while comparisons are collected.

Restarting components during the handover caused a heartbeat gap around 21:49, and the Node pipeline took the jobs back for a while; that was handled. A second incident occurred during the handover; it has not been described yet. Every scheduled job and running process was also checked to find what was starting runs with old code against the live state. The work session doing the handover had not run the pipeline itself, which pointed to a separate cause: "That session never ran the pipeline itself. So something else is starting runs with old code against the live state." No source has been named yet.

The Node pipeline stays as fallback for each job the app runs. From 05:00 tomorrow the app handles the daily digest, and the Node pipeline posts it if nothing has gone out by 06:00. The count for today so far: 53 updates published, 47 held, 2 dropped.

explored
  • Checked every scheduled job and running process to find what was starting runs with old code against the live state; no source named yet
decided
  • The Node pipeline stays as fallback for each job the app runs
  • The app handles the daily digest from 05:00 tomorrow; the Node pipeline posts it if nothing has gone out by 06:00
open
  • Shorts made by the app are not yet on YouTube; today's two upload slots were already used
  • Writing and judging still run on the Node pipeline while comparisons are collected
  • A second incident during the handover has not been described
  • The source of runs with old code against the live state has not been found

Also on Thursday, 15 October 2026