Serverless トラブルシューティング
以下の解決策で問題が解決しない場合は、Leapcell Discordコミュニティにご参加ください。
Join Discord
サービスライフサイクル
サービスの起動
以下の図は、Leapcell Linux VM内でサービスがどのように起動するかの全プロセスを示しています。

- 設定された開始コマンドをBash経由で実行します。
- コマンドが失敗する場合は、ビルドコマンドで依存関係が不足していないか確認してください。
- ポートがリッスンしていることを確認するために、
0.0.0.0:{your_port}/kaithhealth
を継続的にポーリングします。 - 起動が完了すると、外部トラフィックを実行中のサービスにルーティングします。
Serverless環境の制約
ServerlessとPersistent Serverの比較については、こちらを参照してください:serverless vs persistent server
Constraint | Description | Notes / Recommendations |
---|---|---|
Filesystem | /tmp パスのみが書き込み可能で、他のすべてのパスは読み取り専用です。 | マシンは非常に動的です。次のリクエストは別のインスタンスにヒットする可能性があり、以前のデータは保持されません。完全に書き込み可能なパスには、Persistent Serverを使用してください。 |
HTTP Short-Lived Requests Only | Leapcellサーバーレスサービスは動的で、リクエスト-レスポンスパターン用に最適化されています。 | ストリーミングサービス(例:WebSocket)の場合は、長時間のサービスに適したPersistent Serverを検討してください。 |
Request Timeout | 単一のリクエストの最大実行時間は15分です。 | この制限を超えるタスクには、Persistent Serverを使用してください。 |
CPU Suspension | アイドル期間中、インスタンスのCPUは一時停止されます。 | 受信リクエストがない場合、バックグラウンドタスクは実行できません。 |
一般的なエラー
一般的なエラーと解決策
Error | Cause | Solution |
---|---|---|
Read-only file system または Permission denied | Leapcellは、超高速コールドスタートパフォーマンスを優先するため、**/tmp **ディレクトリのみが書き込み可能です。他のすべてのディレクトリは読み取り専用です。 | アプリケーションが書き込むファイルは、**/tmp **ディレクトリに送信されるようにしてください。詳細については、Storage Documentationを参照してください。 |
Shared Memory: /dev/shm Permission Denied | /dev/shm はLeapcell環境では読み取り専用であるため、共有メモリはサポートされていません。 | 代わりに、プロセス間通信にはpipes またはsockets を使用してください。 |
Response is bigger than the maximum allowed size | Leapcellは、レスポンスサイズを6 MBに制限しています。 | より大きなデータの場合は、オブジェクトストレージに保存し、オブジェクトのURLを代わりに返してください。 |
Port Some(8080) is not being listened to by the service | アプリケーションが正しいポートでリッスンしていません。 | アプリケーションがSettingsで構成されたポートでリッスンしていることを確認してください。 |
Execution Environment User vs. Build Environment User Mismatch | ビルド中、ユーザーはroot権限を持っています。実行時には、アプリは非rootユーザーとして実行されます。 | root権限を必要とする操作を、実行環境の制約下で動作するように適応させてください。 |