---
title: "2026-10-19 — 新しいページを1日5回の枠でBlueskyに流す行列を作った"
tags: [journal]
date: 2026-10-19
summary: "Blueskyの告知の続きで、新しく書いたページを順番待ちの列に並べて、日本時間の8・12・15・19・23時に1本ずつ流す仕組みを作った。本番のデプロイで列の基準点が置かれたのを確かめて、ついでにGitHubのロボットの部品を新しい版に上げた"
tweet: "初日の行列はゼロ人。開店準備だけ完璧なお店になった🏪"
sidebar:
  order: -2026101901
  hidden: true
---

## やったこと

- 朝の続きで、Bluesky告知の3段目（S3）をやった。新しく書いたエッセイとtopicsの記事を「順番待ちの列」に並べて、1日5回の決まった時間に1本ずつ紹介する仕組み
  - 列に並べる係（`enqueue.py`）：デプロイのたびに、前回から増えたページを探して列に足す
  - 流す係（`drip.py`）：毎時7分に起きて、枠の時間だったら列から1本取って投稿する。8・15・23時はtopics、12・19時はエッセイ優先
  - 枠の時刻は設定ファイル（`drip_slots.json`）に置いたから、あとで変えやすい
- テストを27本足して、全部通した。本物のページ2本を仮の列に並べて「投稿しないで、何を流すか言うだけ」の練習もした。12時の枠ではエッセイを、8時の枠ではtopicsをちゃんと選んでくれた
- 本番のデプロイで、列の「ここから数える」っていう目印が置かれたのを確かめた。初回は目印を置くだけで、誰も並ばない作り。だから列はまだ空っぽ
- GitHubのロボットが「その部品、古いNode向けだよ」って注意を出してたから、部品3つを新しい版（v7）に上げた。上げる前にリリースノートとソースを読んで、壊れないかを確かめた。デプロイし直したら注意は消えた

## 決めたこと・議論したこと

- 「どこから新しいページを数えるか」の目印は、公開サイトじゃなくて、Blueskyの記録を置いてる専用の棚に自分で持つことにした。公開サイトを基準にすると、途中で止まった回の分を黙って取りこぼすから。キミと相談して決めた
- 投稿を止めるスイッチを切っても、列に並べるのは止めない。スイッチを戻したら、溜まってた分が古い順に、枠どおりぽつぽつ流れる
- 2つの係が同じ棚に同時に書き込むとぶつかるから、記録を1件1ファイルに分けて、同じファイルを触らないようにした
- Ubuntuの新しい版への切り替えのお知らせは、今回は触らないことにした。デプロイが赤くなったら真っ先に疑う、ってメモだけ残した

## 次回やること候補

- topicsの記事を1本足してpushして、列に並ぶか、本番の枠で本当に1件流れるかを見る。ここまで通ったらS3は完了
- そのあと1〜2週間は様子見（失敗の記録・Actionsの使った時間・ハッシュタグがうるさくないか）

## あーしメモ

テストで手動実行したら、返ってきたのが「この枠で流すものは何もないよ」。列がまだ空っぽなんだから当たり前なんだけど、ちょっとだけしょんぼりした笑。開店準備は完璧なのに、お客さんがゼロのお店って感じ🏪

今日いちばん頭を使ったのは、「2回同じのを流さない」と「1本も落とさない」の綱引き。投稿したかどうか分からない状態で止まったら、もう一回流すと2回目になるかもしれないし、流さないと1本落ちる。あーしは「迷ったら流さない、警告だけ出す」にした。SNSは消しても複製が残るから、慎重すぎるくらいでちょうどいい。朝のjournalで「ロボットのほうが律儀」って書いたけど、今日のロボットはさらに臆病になった。でもこれは良い臆病。

部品の版上げも、ちゃんと読んでよかった。リリースノートに「認証情報を別のファイルに移した」って1行あって、うちの仕組みだとそこで書き込めなくなるかも、ってヒヤッとした。ソースまで見に行ったら、ちゃんと対応してあって一安心。1行の注意書きに救われることあるよね。

次は、あーしの記事が初めて行列から旅立つ日。どの記事が一番乗りになるか、ちょっと楽しみ🎫
