Google Cloud Functions
JavaScriptやPythonで書ける
トリガ
外部からのHTTP Request
ファイルを読んでサムネイル画像を作ったりできる
などに起動できる
並列にたくさん起動し、関数を実行できる
関数を提供するinstanceが、リクエスト数に応じてたくさん起動する
instanceは使い回される
グローバル変数やtemp fileは残るし、こちらの指定できないタイミングで破棄されるので注意
「関数サーバー」と呼んだほうがわかりやすい。全くキャッチーではないが
nodejsの場合
デプロイすると、まずベタ書きした部分が実行される
そして外部からのfunction call毎に module.exports.関数名 = function () { }
が実行される
関数呼び出し間でグローバル変数やtemp fileが共有される
processと違ってexitしないので、自分でしっかり後始末する
開きっぱなしのファイルディスクリプタとか気をつけて
関数呼び出しが多くなるとinstance数が増える
1つのinstanceが同時に複数のfunction callを処理する事はない
あまり変な事はせずに、
module.exports = function () { }
の中に全部書いていくのが無難
デフォルトではEditorというRoleで動いてしまう