2

我需要一种脚本语言来描述非常复杂的工作流程。

  • 每当需要用户输入时,这些工作流程都需要暂停,并在输入后恢复(可能几个月后)。似乎来自 Stackless 的可序列化延续将是一个不错的选择。

  • 用户还需要能够自己编辑工作流。我不确定序列化的延续将如何处理底层代码更改。我想我可能需要将 Git 版本哈希与延续一起保存,并且只在不需要状态的检查点“升级”延续。

  • 我更喜欢 Python 语法,因为可读性是一个非常高的优先级,而动态特性是关键。不过,我愿意接受建议。

  • 最终,我可能会编写一个可视化的流程图编辑器来操作底层代码。

我深入研究了 Stackless 和 PyPy。Stackless 似乎没有提供任何沙盒的承诺,而 PyPy 似乎同时提供了 stackless 和沙盒,但我找不到任何提及同时拥有两者的内容。

有什么解决办法吗?如果那里有专家可以让我找到一个好的解决方案,我有一个贝宝帐户,我愿意使用它。

4

1 回答 1

2

在大多数具有本机协同程序库的语言中,您的序列化要求将很困难。您可能需要以另一种方式实现协同例程以允许对象图序列化。

Lua 有 Pluto 库,它可以持久化线程(协同程序): http: //lua-users.org/wiki/PlutoLibrary

就沙盒中的“安全”执行而言,Lua是首选。您可以在单个应用程序中拥有多个 lua 状态而零问题,并且它支持语言中的协同例程。它还有一个好处是它的 VM 形式非常快,并且在许多情况下, luajit可以与 Java JIT 竞争。

于 2010-11-08T18:57:19.963 回答