Databricks キープアライブ Workers
概要
このリポジトリは「Databricks Keep-Alive Workers」として、Cloudflare Workers 上で動作する単一のスクリプトを提供します。目的は Databricks のアプリやワークスペース内のノードを定期的にチェックし、停止や異常が検知された場合に API 経由で再起動を行うことです。導入に必要なのは Databricks ワークスペースのホスト URL と個人アクセストークンのみで、オプションで Telegram Bot を使った通知に対応します。軽量な構成で Cloudflare の Cron Triggers と組み合わせることで、常時稼働を保つ運用自動化が可能です。(約300字)
リポジトリの統計情報
- スター数: 29
- フォーク数: 28
- ウォッチャー数: 29
- コミット数: 15
- ファイル数: 3
- メインの言語: JavaScript
主な特徴
- Cloudflare Workers での単一スクリプト実装(_worker.js)
- Databricks REST API を用いたアプリ/クラスターの監視と自動再起動
- 必要情報は Databricks Host とアクセストークンのみ(Telegram 通知は任意)
- 軽量で迅速にデプロイでき、Cron トリガーと容易に統合可能
技術的なポイント
このプロジェクトは Cloudflare Workers の実行環境を活かして、外部 API(Databricks REST API)への定期的な HTTP リクエストによる監視を行います。Worker スクリプトは非同期 fetch を用いて Databricks ワークスペースにアクセスし、指定したアプリやクラスターの状態を問い合わせます。停止やエラー状態が検知された場合は、同様に REST API を叩いて再起動操作を実行する設計です。構成情報(Databricks Host、Personal Access Token、オプションの Telegram Bot Token と Chat ID)は Worker の環境変数やシークレットとして保存して運用します。
運用面では Cloudflare の Cron Triggers(スケジュール実行)を設定することで定期的に Worker を走らせ、間欠的な停止やスケールダウンによるダウンタイムを短時間で検出・復旧できます。Worker の短い実行時間とスケーラビリティを活かし、軽いヘルスチェックを頻度高く行うのに適しています。ただし、Databricks API のレート制限や一時的なネットワークエラー、認証トークンの漏洩リスクには注意が必要です。対策としては、API 呼び出しに対するリトライと指数バックオフ、ログ出力(Cloudflare のログや外部監視への連携)、最小権限のトークン発行、トークンの定期ローテーションを推奨します。
スクリプト自体はシンプルなため改造もしやすく、例えば再起動履歴のトラッキングに Cloudflare KV を追加したり、失敗時に Slack / PagerDuty と連携してオンコール通知を出す拡張が容易です。また、状態遷移を厳密に管理したい場合は、同一 Worker による複数リソース管理の設計や、失敗回数に基づくバックオフ/エスカレーションポリシーの導入を検討すると良いでしょう。セキュリティ面では Worker に直接トークンを埋め込まず、Cloudflare のシークレット管理機能を用いること、及び Databricks 側でトークンのアクセス範囲を絞ることが重要です。(約700〜1500字相当)
プロジェクトの構成
主要なファイルとディレクトリ:
- LICENSE: file
- README.md: file
- _worker.js: file
まとめ
Cloudflare Workers を使った手軽な Databricks 自動復旧ツール。導入が簡単で実運用に役立つ。
リポジトリ情報:
- 名前: Databricks-keepalive-workers
- 説明: 説明なし
- スター数: 29
- 言語: JavaScript
- URL: https://github.com/eooce/Databricks-keepalive-workers
- オーナー: eooce
- アバター: https://avatars.githubusercontent.com/u/142894633?v=4
READMEの抜粋:
Databricks Keep-Alive Workers 部署说明
这个 Worker 脚本用于监控和自动重启 Databricks App,确保它们保持运行状态。
Databricks部署节点视频教程:https://youtu.be/r35kK77PlLg
部署指南
1. 准备工作
在部署之前,你需要获取以下信息:
- Databricks 工作区 Host: 例如
https://abc-123456789.cloud.databricks.com - Databricks 访问 Token: 用于 API 访问的个人访问令牌,点击右上角用户设置-选择”Developer” -> “Access Tokens”生成新的访问令牌
- (可选) Telegram BOT Token: 用于发送通知的 Telegram Bot 令牌
- (可选) Telegram Chat ID: 接收通知的聊天caht id
2. 部署
- 登录你的cloudflare,创建一个新的workers,名称随意,编辑…