class PythonExecutionCachedEngine extends ExecutionCachedEngine<PythonExecutor> implements PythonExecutionEngine {

    @Override
    public PythonExecutionResult exec(Set<String> dependencies, String script, Map<String, Serializable> vars) {
        PythonExecutor executor = allocateExecutor(dependencies);
        try {
            return executor.exec(script, vars);
        } finally {
            releaseExecutor(executor);
        }
    }

}