制限事項
Server Code を書く際の制限事項を以下にまとめます。
以下の条件を満たさない Server Code をサーバーにアップしようとするとエラーになります。
eval
は使用できません。setTimeout
とsetInterval
は使用できません。Array
コンストラクタは使用できません- 次の変数名および関数名は使用できません。
- "__kii_" で始まる変数名および関数名。
__filename
と__dirname
は使用できません。
また、Server Code を実行した結果、以下の条件を満たさなかった場合は Server Code の実行が中断され、例外のスローまたはタイムアウトが発生します。
- 実行されたステップ数は 1000 未満。
- 実行時間は 20000 msec 以下。
- I/O などのネイティブリソースへのアクセスはできません。
- Server Code に渡すパラメーターのサイズは、パラメーター本体と、Server Code を呼び出すためのメタ情報(50 バイト程度)の合計で 100 KB 以内。
- Object Body のアップロードおよびダウンロードは使用できません。
Server Hook を利用する場合、以下の制限事項があります。
- Server Hook は実行結果をクライアントに返すことはできません。
- Server Hook によって実行された Server Code から Kii Cloud を操作した際に、その操作が Server Hook で定義した条件を満たしても Server Hook は実行されません。これは Server Hook の無限ループを防ぐためです。
これらすべての制限値は、有料/無料などの課金プランによらず、同じ条件を取ります。
ステップ数のカウント方法
実行ステップ数は、おおむね次のようなルールでカウントされます。実行ステップ数を超えた場合はこの情報をヒントに Server Code を調整してください。
- コード 1 行で +1 カウント(ただし ; で結合した場合は分割してカウント)
- 制御構文(for/if/else 等)の部分はカウントしない
- for/foreach 等のループ処理はループ回数分繰り返しカウント