Commit 1569539

Eric Bower  ·  2026-08-11 11:29:54 -0400 EDT
parent fe39804
fix: monitor fixes
1 files changed,  +13, -4
+13, -4
......@@ -1354,8 +1354,10 @@ func monitorTick(cfg *Cfg, log *slog.Logger, output io.Writer, jobStates map[str
13541354 }
13551355 publishedJSON, _ := json.Marshal(published)
13561356 log.Info("writing sentinel", "path", sentinel)
1357- if err := os.WriteFile(sentinel, publishedJSON, 0644); err != nil {
1358- log.Error("write published sentinel", "err", err)
1357+ if err := os.MkdirAll(filepath.Dir(sentinel), 0755); err == nil {
1358+ if err := os.WriteFile(sentinel, publishedJSON, 0644); err != nil {
1359+ log.Error("write published sentinel", "err", err)
1360+ }
13591361 }
13601362 // Regenerate index.html now that published.json exists, so the artifact list includes it.
13611363 indexHTML, indexTXT := generateJobIndex(cfg.ArtifactDir, name, jobID, group)
......@@ -1709,8 +1711,15 @@ func publishStatus(w io.Writer, payload StatusPayload) error {
17091711 if err != nil {
17101712 return err
17111713 }
1712- _, err = w.Write(append(data, '\n'))
1713- return err
1714+ if _, err := w.Write(append(data, '\n')); err != nil {
1715+ return err
1716+ }
1717+ if f, ok := w.(interface{ Flush() error }); ok {
1718+ _ = f.Flush()
1719+ } else if f, ok := w.(*os.File); ok {
1720+ _ = f.Sync()
1721+ }
1722+ return nil
17141723 }
17151724
17161725 func stageArtifact(dir, name, jobID, short, content, ext string) error {