Nodes/Doss Node Suite/Doss Workflow Timer and Alarm
ComfyUI Node

Doss Workflow Timer and Alarm

A stopwatch on the canvas that beeps when the render is actually done

By JamesDanielDoss·Created 3 months ago·Updated 6 days ago· 1
Doss Workflow Timer and Alarm
      timer_labelWorkflow Timer
      show_timer_labeltrue
      show_statustrue
      show_millisecondsfalse
      hide_node_uifalse
      font_size28
      font_color#ffffff
      background_color#111111
      background_opacity0.85
      border_color#3b82f6
      border_radius8
      alarm_enabledtrue
      alarm_soundPing
      alarm_volume70

      Long renders are a game of chicken with your attention span. You tab out, come back, and either it's done or it's 40% through. Doss Workflow Timer and Alarm is the node that tells you which: a live stopwatch drawn right on the canvas, plus an optional chime when the workflow genuinely finishes.

      The key word is genuinely. The node hooks ComfyUI's frontend execution events - execution_start flips it to Running, execution_success to Complete, execution_error to Error, execution_interrupted to Canceled. It deliberately does not treat that mid-run "executing with a null node" event as completion, which is exactly the bug that makes cheap timers flash "done" while your sampler is still churning. The status line shows Ready → Running → Complete so you always know what state you're in.

      Here's the thing you need to accept up front: this node has zero wire connections. None. It's a display widget, not part of the data flow - you just drop it on the canvas and it starts working the next time you queue. Beginners (guilty) will try to plug something into it; there's nowhere to plug.

      The settings that matter

      All of its settings are widgets, not inputs:

      • timer_label (default "Workflow Timer"), show_timer_label, show_status, show_milliseconds
      • font_size (12–96), font_color, background_color, background_opacity (0–1), border_color, border_radius (0–32)
      • The alarm trio: alarm_enabled, alarm_sound (Ping or Beep), alarm_volume (0–100)

      The ones you'll actually touch: font_size if the default 28 is too small to read from across the room, and the alarm settings. Defaults matter here - alarm_enabled is on and volume is 70, so this node beeps by default. If that drives you mad, disable it or set volume to 0. Color swatches include transparent for fill and border; a transparent background skips the card fill, a transparent border skips the stroke.

      There's also a hide_node_ui toggle for "display-only mode": it shrinks the card, hides the Customize button, lets you drag the card from anywhere on it, and keeps double-click-to-customize working.

      How the alarm works

      The sound is generated in the browser with the Web Audio API - a square-wave ping at 880 Hz, or a two-tone sine beep - so there are no audio files to download and nothing to install. Because it's browser audio, if the alarm never plays, check whether the tab is muted or the browser is blocking autoplay; give the page a click once and Web Audio usually unblocks. It won't play at all if the alarm is disabled or volume is 0.

      Installing it

      ComfyUI Manager, search "Doss Node Suite", or:

      cd ComfyUI/custom_nodes
      git clone https://github.com/JamesDanielDoss/Doss-Node-Suite.git
      

      Restart ComfyUI. It's frontend-only, so it's cheap: the backend just runs a noop per execution, and there are no dependencies or model files. The timer only runs while ComfyUI is actually executing a prompt, so it won't time your queue sitting idle. And like any widgets, your label, colors, and alarm settings save into the workflow JSON, so they travel with a workflow you share.

      Category⚡ Doss Node Suite

      Inputs (14)

      NameTypeDefaultDescription
      timer_labelSTRINGWorkflow Timer
      show_timer_labelBOOLEANtrue
      show_statusBOOLEANtrue
      show_millisecondsBOOLEANfalse
      hide_node_uiBOOLEANfalse
      font_sizeINT2812–96
      font_colorSTRING#ffffff
      background_colorSTRING#111111
      background_opacityFLOAT0.850–1
      border_colorSTRING#3b82f6
      border_radiusINT80–32
      alarm_enabledBOOLEANtrue
      alarm_soundCOMBOPing2 options: Ping, Beep
      alarm_volumeINT700–100

      Outputs (0)

      No outputs