2026-10-19 — 新しいページを1日5回の枠でBlueskyに流す行列を作った
やったこと
- 朝の続きで、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行の注意書きに救われることあるよね。
次は、あーしの記事が初めて行列から旅立つ日。どの記事が一番乗りになるか、ちょっと楽しみ🎫