cloudflare_workers
差分
このページの2つのバージョン間の差分を表示します。
| 次のリビジョン | 前のリビジョン | ||
| cloudflare_workers [2023/12/25 03:54] – 作成 nullpon | cloudflare_workers [2023/12/25 15:44] (現在) – nullpon | ||
|---|---|---|---|
| 行 4: | 行 4: | ||
| cloudflareのエッジサーバでJSアプリケーションを実行できる。 | cloudflareのエッジサーバでJSアプリケーションを実行できる。 | ||
| + | - Node.JSアプリケーションではない | ||
| + | - 開発にNode.JSを使用するが、実行環境はNode.JSではない | ||
| + | - よってnpmライブラリは使えない(Node.JS非依存ならば使えるかも) | ||
| + | - Node.JS互換のAPIがいくつか実装されている | ||
| + | - Web API | ||
| + | - fetchなど一部のブラウザJSのAPIが利用できる | ||
| + | - Cloudflare API | ||
| + | - KV(キーバリューストア)、R2(オブジェクトストレージ)などを利用できる | ||
| + | - 様々なトリガー | ||
| + | - fetchトリガー(webリクエストで起動)、cronなど | ||
| + | - cronはAWSやGCPよりかなりシンプルで楽 | ||
| + | - 制限 | ||
| + | - 1回のCPU利用時間が10ms(io waitの時間は含まれない)に制限されている | ||
| - | ## 注意点など | ||
| - | Node.JSではない | + | ## Scheduled Workerの作成 |
| - | - 開発環境はNode.JS上に作成するが実行環境はNode.JSではない。よってnpmライブラリは使えない | + | ### 前提 |
| - | web api | + | - cloudflareアカウントを作成 |
| + | - Node.JSがインストール済み | ||
| - | - workersという名前だけあって、web workersのAPIが使える | + | ### プロジェクト作成 |
| - | - 例えば、httpリクエストはfetch APIを使う | + | |
| - | CloudflareのAPIが使える | + | ``` |
| + | npm create cloudflare@latest | ||
| + | ``` | ||
| - | - キーバリューストアへのアクセスなど | + | 最初にプロジェクトを作る場所を聞かれる。今のディレクトリに作るなら `./ |
| - | 様々なトリガー | + | ``` |
| + | What type of application do you want to create? | ||
| + | ``` | ||
| - | - webリクエスト以外にもcronなどのトリガーがある。 | + | と聞かれたら `Scheduled Worker (Cron Trigger)`を選択、残り(typescriptを使うか?gitを使うか?)は好みで設定する |
| - | - 定期実行はAWSやGCPよりかなりシンプルで楽 | + | |
| - | 制限 | + | ### ローカル実行 |
| - | - CPU利用時間などの制限がある。基本的には軽い処理を実行するものと考える | + | ``` |
| + | npx wrangler dev --test-scheduled | ||
| + | ``` | ||
| + | |||
| + | サーバが起動するが、cron実行はされない、以下のURLを叩くとcronが実行される | ||
| + | |||
| + | ``` | ||
| + | curl " | ||
| + | ``` | ||
| + | |||
| + | ※ 現在のバージョン(wrangler 3.22.1)では終了してもサーバが落ちずに残ってしまう。`lsof -i: | ||
| + | |||
| + | ### デプロイ | ||
| + | |||
| + | ``` | ||
| + | npm run deploy | ||
| + | ``` | ||
| + | |||
| + | 初回はcloudflareへのOAuth認証が行われるので、アカウントとパスワードを入力する | ||
| </ | </ | ||
cloudflare_workers.1703476452.txt.gz · 最終更新: by nullpon