Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Goal
For embedded use cases it is really helpful to have a limit on the amount of time a script takes to run. As there has already been sandbox configuration for file read/write/execute which would be critical for embedding in an app. If all IO is disabled then this feature should provide some amount of sandboxing of runtime.
Implementation
This adds a runtime duration to running a program. It uses
time.Since
on any call tointerp.eval
.IO Issue
On question is how to set timeout for IO operations. Currently this is not supported. Not sure there is a really good option for this. Possibly exposing the a function that can check for runtime limitations might help with embedded use cases.