サンドボックスとスタックレスのPython?
-
29-09-2019 - |
質問
非常に複雑なワークフローを説明するために、スクリプト言語が必要です。
これらのワークフローは、ユーザー入力が必要なときはいつでも一時停止し、与えられた後に再開する必要があります(数か月後になる可能性があります)。 Stacklessからのシリアル化可能な継続が適しているようです。
また、ユーザーはワークフロー自体を編集できる必要があります。シリアル化された継続が基礎となるコードの変更をどのように処理するかはわかりません。継続とともにGitバージョンのハッシュを保存する必要があると思います。また、状態が不要なチェックポイントでの継続を「アップグレード」するだけです。
読みやすさは非常に優先度が高く、動的な機能が重要であるため、Python構文を好みます。しかし、私は提案を受け入れています。
- 最終的には、基礎となるコードを操作する視覚的なフローチャートエディターを書くでしょう。
私はスタックレスとパイピを詳しく調べました。 Stacklessはサンドボックスの約束を提供していないようですが、PypyはStacklessとSandboxedの両方を提供しているようですが、持っていることについての言及は見つかりません 両方と同時に。
解決策はありますか?優れたソリューションで私を連れて行くことができる専門家がいるなら、私はPayPalアカウントを持っていて、それを使って喜んでいます。
解決
ネイティブの共同ルーチンライブラリを備えたほとんどの言語では、シリアル化の要件は困難です。オブジェクトグラフのシリアル化を可能にするために、別の方法で共同ルーチンを実装する必要があるかもしれません。
LuaにはPl王星ライブラリがあります。 http://lua-users.org/wiki/plutolibrary
サンドボックスでの「安全な」実行に関しては、 ルア 最初の選択肢です。問題がゼロの単一のアプリケーションで複数のLUA状態を持つことができ、言語の共同ルーチンをサポートします。また、VMフォームで非常に速く、 ルアジット は Java JITとの競争 多くの場合。