GEMINI LABEN
PRO35 — 報道が目標日としていた7月17日を過ぎましたが、Gemini 3.5 Proの公式発表もモデルカードも本日時点で確認できていません。予備日として7月24日が挙げられていますNB2LITE — Nano Banana 2 Lite(Gemini 3.1 Flash-Lite Image)が登場しました。約4秒で画像を生成し、1,000枚あたり0.034ドルという水準ですOMNI — Gemini Omni Flashが公開プレビューに入りました。最長10秒の動画を生成でき、価格は出力1秒あたり0.10ドルですEDIT — Omni Flashは会話による編集を軸に設計されています。登場人物の差し替え、ライティングの変更、アングルの調整を自然文で指示でき、元の音声と映像のトラックは保持されますSYNTHID — 新しい2モデルにはSynthIDの電子透かしが組み込まれており、生成物の来歴をGeminiアプリ側から確認できますSHUTDOWN — 旧来の画像生成モデルは非推奨となり、8月17日に停止されます。移行の期限をご確認いただければと思いますPRO35 — 報道が目標日としていた7月17日を過ぎましたが、Gemini 3.5 Proの公式発表もモデルカードも本日時点で確認できていません。予備日として7月24日が挙げられていますNB2LITE — Nano Banana 2 Lite(Gemini 3.1 Flash-Lite Image)が登場しました。約4秒で画像を生成し、1,000枚あたり0.034ドルという水準ですOMNI — Gemini Omni Flashが公開プレビューに入りました。最長10秒の動画を生成でき、価格は出力1秒あたり0.10ドルですEDIT — Omni Flashは会話による編集を軸に設計されています。登場人物の差し替え、ライティングの変更、アングルの調整を自然文で指示でき、元の音声と映像のトラックは保持されますSYNTHID — 新しい2モデルにはSynthIDの電子透かしが組み込まれており、生成物の来歴をGeminiアプリ側から確認できますSHUTDOWN — 旧来の画像生成モデルは非推奨となり、8月17日に停止されます。移行の期限をご確認いただければと思います
記事一覧/API / SDK
API / SDK/2026-06-24上級

Webhooks に移しても、デプロイの瞬間にイベントは落ちる — Gemini 長時間オペレーションを照合で二重化した運用メモ

ポーリングから Webhooks へ移した後でも、デプロイや一時的な 5xx の瞬間にイベントは取りこぼされます。Gemini の長時間オペレーションを操作台帳と低頻度の照合ポーラーで二重化し、終端イベントの欠落を拾い直す設計を実装メモとして残します。

Gemini API189Webhooks2長時間オペレーションBatch API5信頼性設計3

プレミアム記事

個人開発で回している夜間バッチが、ある朝だけ結果を書き戻していませんでした。ログを追うと、Batch API のジョブ自体は成功しています。ただ、完了を知らせる Webhook が届いた時刻に、ちょうどサイトの再デプロイが走っていました。受け口の Worker が一瞬だけ入れ替わり、その一発を取りこぼしていたのです。

ポーリングをやめて Webhooks に移したばかりの頃でした。イベント駆動にすればポーリングの無駄打ちが消える、という素直な期待で移行したのですが、その裏返しとして「受け損ねたら誰も気づかない」という新しい弱点を抱えていたわけです。

この記事は、その取りこぼしを二度と起こさないために組んだ、Webhooks と照合ポーラーの二重化の記録です。Gemini の長時間オペレーション(Batch API や時間のかかる生成)を題材にしていますが、設計の骨格は外部のイベント通知を受ける作り全般に流用できます。

取りこぼしは「異常系」ではなく「通常系」だと捉え直す

Webhooks は配送の保証として at-least-once を掲げます。つまり「最低1回は届けようとする」のであって、「必ず1回届く」ではありません。送り手は数回リトライしますが、受け口が落ち続ければリトライ枠を使い切ります。

個人開発の構成では、これが現実によく起きます。私自身の環境では、Cloudflare Workers に1日10回以上デプロイが走ります。そのたびに数百ミリ秒、受け口が不安定になる窓が開きます。コールドスタートや一時的な 5xx も重なります。送り手のリトライが全てこの窓に当たる確率は低いものの、ゼロではありません。1日に数十件のオペレーションを回していれば、月に1〜2件は静かに落ちます。

ここで大事なのは、これを「まれな障害」として例外処理に追いやらないことです。イベント駆動を採るなら、取りこぼしは設計が織り込むべき通常の挙動です。だからこそ、取りこぼしを回避するために、Webhooks を主経路にしつつ、独立した照合の経路で必ず回収する。この二重化を最初から前提に置きます。

全体像 — 高速路と低速路を分ける

設計は3つの部品で構成します。

部品役割起動契機
操作台帳送信した全オペレーションの状態を一元管理する正本ジョブ送信時に登録
Webhook 受け口(高速路)終端イベントを即時に受けて台帳を閉じるGemini からの通知
照合ポーラー(低速路)台帳に残る未完了を走査し、落ちた終端を拾い直す定期 cron

肝は、台帳を「Webhook が来たかどうか」ではなく「オペレーションが終端に達したかどうか」で管理する点です。終端に達したことを確定させる手段が2つある、と考えます。1つは Webhook(速い)、もう1つは照合時の operations.get 相当の問い合わせ(遅いが確実)。どちらが先に確定させても結果は同じになるよう、状態遷移を冪等にします。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
操作台帳(KV)と Webhooks 高速路・照合ポーラー低速路を組み合わせ、終端イベントを落とさない二重化の完全なTypeScript実装
デプロイ中に届かなかった Webhook を照合で拾い直す具体的な判定ロジックと、副作用を二重発火させない冪等キーの置き方
止まったまま戻らないオペレーションの検知しきい値と、照合の頻度・コストをどう決めたかの実測値
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Gemini Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

API / SDK2026-07-14
Batch ジョブが『まだ RUNNING です』のまま半日溶けていたとき — 状態別の滞留予算とレコード突合で詰まりを早期に名指しする運用メモ
Gemini Batch API のジョブが 24 時間 SLA の陰で静かに滞留していたとき、状態別の滞留時間予算とレコード数の突合で詰まりと取りこぼしを早期に検知するための計測手順を、運用ログの実測とともに整理します。
API / SDK2026-07-03
Webhook が本物である保証はどこにもない — Gemini Webhooks 受信エンドポイントの三層防御設計
Gemini Webhooks の受信エンドポイントは公開 URL である以上、偽イベント・リプレイ・二重処理を想定する必要があります。ペイロードを事実として信じず API へ照会し直す構造を軸に、到達検証・重複排除・軽量ハンドラの三層防御を動くコードで示します。
API / SDK2026-06-28
Managed Agents が静かに止まった朝、ログに手がかりが何も残っていなかった — 走行を外側から追える観測層の設計
Gemini Managed Agents はサンドボックスが Google 側にあるため、止まったときに自分のログ基盤へ手がかりが残りません。ストリームイベントを刻んで台帳化し、無音の停止を検知し、後から読める事後ログに畳む観測層を、そのまま動く TypeScript で設計します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →