ユーザ用ツール

サイト用ツール


cloudflare_workers

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

次のリビジョン
前のリビジョン
cloudflare_workers [2023/12/25 03:54] – 作成 nullponcloudflare_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 "http://localhost:8787/__scheduled?cron=*+*+*+*+*" 
 +``` 
 + 
 +※ 現在のバージョン(wrangler 3.22.1)では終了してサーバが落ちずに残ってしまう。`lsof -i:8787`コマンドでプロセス番号を探してkillする 
 + 
 +### デプロイ 
 + 
 +``` 
 +npm run deploy  
 +``` 
 + 
 +初回はcloudflareへOAuth認証が行われるので、アカウントパスワードを入力す
  
 </markdown> </markdown>
cloudflare_workers.1703476452.txt.gz · 最終更新: 2023/12/25 03:54 by nullpon