ユーザ用ツール

サイト用ツール


cloudflare_workers

文書の過去の版を表示しています。


Cloudflare Workers

cloudflareのエッジサーバでJSアプリケーションを実行できる。

注意点など

  • Node.JSではない
    • 開発環境はNode.JS上に作成するが実行環境はNode.JSではない。よってnpmライブラリは使えない
    • Node互換APIが一部実装されている
  • Web API
    • fetchなど一部のブラウザJSのAPIが利用できる
  • Cloudflare API  - KV(キーバリューストア)、R2(オブジェクトストレージ)などを利用できる
  • 様々なトリガー
    • fetchトリガー(webリクエストで起動)、cronなど
    • cronはAWSやGCPよりかなりシンプルで楽

制限

  • 1回のCPU利用時間が10ms(io waitの時間は含まれない)に制限されている

Scheduled Workerの作成

前提

  • cloudflareアカウントを作成
  • Node.JSがインストール済み

プロジェクト作成

npm create cloudflare@latest

最初にプロジェクトを作る場所を聞かれる。今のディレクトリに作るなら ./、ディレクトリを掘って作成するなら名前を入力。これがプロジェクト名になる

What type of application do you want to create?

と聞かれたら Scheduled Worker (Cron Trigger)を選択、残り(typescriptを使うか?gitを使うか?)は好みで設定する

ローカル実行

npx wrangler dev --test-scheduled 

サーバが起動するが、cron実行はされない、以下のURLを叩くとcronが実行される

curl "http://localhost:8787/__scheduled?cron=*+*+*+*+*"

※ 現在のバージョン(wrangler 3.22.1)では終了してもサーバが落ちずに残ってしまう。lsof -i:8787コマンドでプロセス番号を探してkillする

デプロイ

npm run deploy 

初回はcloudflareへのOAuth認証が行われるので、アカウントとパスワードを入力する

cloudflare_workers.1703518483.txt.gz · 最終更新: 2023/12/25 15:34 by nullpon