From 04f33c668e183cf751ab0ee3acbf107203937455 Mon Sep 17 00:00:00 2001 From: Nolan Ehrstrom Date: Tue, 11 Jul 2023 08:44:00 -0700 Subject: [PATCH 1/2] Fix script timeout setting --- ProcessMaker/Models/Script.php | 8 ++++++-- ProcessMaker/Models/ScriptVersion.php | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ProcessMaker/Models/Script.php b/ProcessMaker/Models/Script.php index 3ca23655ab..dbd291e2bc 100644 --- a/ProcessMaker/Models/Script.php +++ b/ProcessMaker/Models/Script.php @@ -77,7 +77,7 @@ class Script extends ProcessMakerModel implements ScriptInterface protected $casts = [ 'timeout' => 'integer', 'retry_attempts' => 'integer', - 'retry_wait_time' => 'integer' + 'retry_wait_time' => 'integer', ]; /** @@ -127,8 +127,12 @@ public static function rules($existing = null) * @param array $data * @param array $config */ - public function runScript(array $data, array $config, $tokenId = '', $timeout = 60) + public function runScript(array $data, array $config, $tokenId = '', $timeout = null) { + if (!$timeout) { + $timeout = $this->timeout; + } + if (!$this->scriptExecutor) { throw new ScriptLanguageNotSupported($this->language); } diff --git a/ProcessMaker/Models/ScriptVersion.php b/ProcessMaker/Models/ScriptVersion.php index 1fb3674f19..d1c946b24c 100644 --- a/ProcessMaker/Models/ScriptVersion.php +++ b/ProcessMaker/Models/ScriptVersion.php @@ -50,7 +50,7 @@ public function parent() * @param array $data * @param array $config */ - public function runScript(array $data, array $config, $tokenId = '') + public function runScript(array $data, array $config, $tokenId = '', $timeout = null) { $script = $this->parent->replicate(); $except = $script->getGuarded(); @@ -58,7 +58,7 @@ public function runScript(array $data, array $config, $tokenId = '') $script->$prop = $this->$prop; } - return $script->runScript($data, $config, $tokenId); + return $script->runScript($data, $config, $tokenId, $timeout); } /** From 015d921651ef202871d3c43807b27147c681417a Mon Sep 17 00:00:00 2001 From: Nolan Ehrstrom Date: Thu, 13 Jul 2023 15:33:26 -0700 Subject: [PATCH 2/2] Fix for when no script is assigned --- ProcessMaker/Jobs/RunScriptTask.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ProcessMaker/Jobs/RunScriptTask.php b/ProcessMaker/Jobs/RunScriptTask.php index 130c69cf95..55f86eb244 100644 --- a/ProcessMaker/Jobs/RunScriptTask.php +++ b/ProcessMaker/Jobs/RunScriptTask.php @@ -64,6 +64,8 @@ public function action(ProcessRequestToken $token = null, ScriptTaskInterface $e if ($configuration === null) { $configuration = []; } + + $errorHandling = null; try { if (empty($scriptRef)) { $code = $element->getScript(); @@ -109,7 +111,10 @@ public function action(ProcessRequestToken $token = null, ScriptTaskInterface $e } catch (Throwable $exception) { $token->setStatus(ScriptTaskInterface::TOKEN_STATE_FAILING); - $message = $errorHandling->handleRetries($this, $exception); + $message = $exception->getMessage(); + if ($errorHandling) { + $message = $errorHandling->handleRetries($this, $exception); + } $error = $element->getRepository()->createError(); $error->setName($message);