| 2467 | } |
| 2468 | |
| 2469 | static RAI_DAGRunOp *_createScriptRunOp(const char *scriptNameStr, const char *functionNameStr, |
| 2470 | RAI_Error *err) { |
| 2471 | |
| 2472 | RedisGears_LockHanlderAcquire(staticCtx); |
| 2473 | RedisModuleString* keyRedisStr = RedisModule_CreateString(staticCtx, scriptNameStr, strlen(scriptNameStr)); |
| 2474 | RAI_Script *script; |
| 2475 | if(RedisAI_GetScriptFromKeyspace(staticCtx, keyRedisStr, &script, REDISMODULE_READ, err) != REDISMODULE_OK) { |
| 2476 | RedisModule_FreeString(staticCtx, keyRedisStr); |
| 2477 | RedisGears_LockHanlderRelease(staticCtx); |
| 2478 | PyErr_SetString(GearsError, RedisAI_GetError(err)); |
| 2479 | return NULL; |
| 2480 | } |
| 2481 | |
| 2482 | RedisModule_FreeString(staticCtx, keyRedisStr); |
| 2483 | RAI_DAGRunOp *scriptRunOp = RedisAI_DAGCreateScriptRunOp(script, functionNameStr); |
| 2484 | RedisGears_LockHanlderRelease(staticCtx); |
| 2485 | return scriptRunOp; |
| 2486 | } |
| 2487 | |
| 2488 | static PyObject* DAGAddScriptRun(PyObject *self, PyObject *args, PyObject *kargs) { |
| 2489 | verifyRedisAILoaded(); |