制限事項

Server Code を書く際の制限事項を以下にまとめます。

以下の条件を満たさない Server Code をサーバーにアップしようとするとエラーになります。

  • eval は使用できません。
  • setTimeoutsetInterval は使用できません。
  • 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 等のループ処理はループ回数分繰り返しカウント