Frage

Ich brauche eine Skriptsprache, um sehr komplizierte Workflows zu beschreiben.

  • Diese Workflows müssen bei Bedarf der Benutzereingabe angehalten und nach dem Verabschiedung wieder aufgenommen werden (könnte Monate später dauern). Es scheint, als ob serialisierbare Fortsetzungen von Stackless gut passen würden.

  • Benutzer müssen auch in der Lage sein, die Workflows selbst zu bearbeiten. Ich bin mir nicht sicher, wie serialisierte Kontinuationen zugrunde liegende Codeänderungen umgehen würden. Ich denke, ich muss möglicherweise den Git -Version Hash zusammen mit der Fortsetzung speichern und nur eine Fortsetzung an Kontrollpunkten „Upgrade“ an Kontrollpunkten, an denen kein Zustand benötigt wird.

  • Ich bevorzuge die Python -Syntax, da die Lesbarkeit eine sehr hohe Priorität hat und dynamische Funktionen der Schlüssel sind. Ich bin jedoch offen für Vorschläge.

  • Schließlich werde ich wahrscheinlich einen visuellen Flow-Chart-Redakteur schreiben, der den zugrunde liegenden Code bearbeitet.

Ich habe stacklos und pypy ausführlich geschaut. Stackless scheint keine Versprechungen für Sandboxen zu bieten, während Pypy sowohl stacklos als auch sandkäfig zu bieten scheint, aber ich kann keine Erwähnung finden, wenn ich habe Beides zur selben Zeit.

Irgendwelche Lösungen? Wenn es da draußen einen Experten gibt, der mich mit einer guten Lösung in Gang bringen kann, habe ich ein PayPal -Konto und bin bereit, es zu verwenden.

War es hilfreich?

Lösung

Ihre Serialisierungsanforderung wird in den meisten Sprachen mit nativen Co-Routine-Bibliotheken schwierig sein. Möglicherweise müssen Sie Co-Routinen auf eine andere Weise implementieren, um die Serialisierung von Objektgraphen zu ermöglichen.

Lua hat die Pluto-Bibliothek, die Fäden (Co-Routines) bestehen kann: http://lua-users.org/wiki/plutolibrary

Soweit "sichere" Ausführung in einem Sandkasten, Lua ist eine erste Wahl. Sie können mehrere LUA-Zustände in einer einzigen Anwendung ohne Probleme haben, und es unterstützt Co-Routinen in der Sprache. Es hat auch den Vorteil, in seiner VM -Form ziemlich schnell zu sein und mit Luajit ist wettbewerbsfähig mit Java Jit in vielen Fällen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top