RabbitMQ Consumer Prefetch value

jigar patel 3 months ago in Server / Execution updated by Njabulo Nxele 1 month ago 2

Hi Team, there is one suggestion to improve RabbitMQ consumer performance. We can divide the load with multiple consumer by specifying prefetch count value. If we are not specifying prefetch value that means single consumer have unlimited buffer means single consumer will pick all the data from queue.

Prefetch meaning "prefetch simply controls how many messages the broker allows to be outstanding at the consumer at a time. When set to 10, this means the broker will send 10 message, wait for the ack, then send the next."

References : 

Suggestion : Add prefetch configuration in trigger section of warewolf studio (i.e like trigger concurrency)

Please let me know if you need more help to understand.

Not a bug

UAT- - Getting hangfire error at the time of resume suspend tool

maya khambhayata 6 months ago in Server / Execution updated by Njabulo Nxele 4 months ago 3

newjourney (2).log

In local environment, sometime it gives "Resume node not found" error. but After restart of warewolf service. it is working fine. Price increase journey have 2 suspend tool in workflow but both are working fine in local environment. But on Dev environment it is failing Randomly. Out of 10 it is failing almost 7 times. I am providing here, workflow and server log.

Yes it new workflow.

Hangfir giving below error: 

{"FailedAt":"2022-04-18T05:28:31.2801372Z","ExceptionType":"System.InvalidOperationException","ExceptionMessage":"Error resuming. ServiceAction is null for Resource ID:ae105df3-9dc5-437e-ba21-e93dd6a0f356","ExceptionDetails":"System.InvalidOperationException: Error resuming. ServiceAction is null for Resource ID:ae105df3-9dc5-437e-ba21-e93dd6a0f356 ---> System.Exception: Error resuming. ServiceAction is null for Resource ID:ae105df3-9dc5-437e-ba21-e93dd6a0f356\r\n --- End of inner exception stack trace ---\r\n at HangfireServer.ResumptionAttribute.OnPerformResume(PerformingContext context) in Y:\\WOLF-INST-COMREL\\Dev\\Warewolf.HangfireServer\\ResumptionAttribute.cs:line 94\r\n at Hangfire.Profiling.ProfilerExtensions.InvokeAction[TInstance](InstanceAction`1 tuple)\r\n at Hangfire.Profiling.SlowLogProfiler.InvokeMeasured[TInstance,TResult](TInstance instance, Func`2 action, String message)\r\n at Hangfire.Profiling.ProfilerExtensions.InvokeMeasured[TInstance](IProfiler profiler, TInstance instance, Action`1 action, String message)\r\n at Hangfire.Server.BackgroundJobPerformer.InvokePerformFilter(IServerFilter filter, PerformingContext preContext, Func`1 continuation)"}

Not a bug

For each loop issue: All Recordset index values not passing into child workflow

Ashley Lewis 8 months ago in Server / Execution updated by Siphamandla Dube 8 months ago 2


I have noticed that All the values of recordset are not passing into child workflow for each loop. I have checked this same behavior into the Select & Apply tool and it's working fine.

Please check the sample attached workflows & issue into screenshot.

ForLoopIssue-MainWorkflow (1).bite
ForLoopIssue-ChildWorkflow (1).bite

Gandalf 5 months ago

It looks like the For Each is getting confused with 2 different recordset inputs: User(*) and Benefit(*)

Gandalf 5 months ago

Change For Each to use No. of Executes = 3 and see different result. This is from the tool handeling the replacement of * differently and incorectly.

Yogesh Rajpurohit yesterday at 9:13 a.m.

We have checked and found that the sequence of BenifitID in User Payload is incorrect so we changed the sequence and checked the result. Output is coming properly.

Attached are the Edited Workflows.

ForLoopIssue-ChildWorkflow (2).bite
ForLoopIssue-MainWorkflow (2).bite

execution server variables

Suspend Tool Failing

Anonymous 11 months ago in Server / Execution 0

There is a problem with the suspend tool. I have two workflows created in, one works fine and the other does not.

Works fine: SuspendToolTest

Does not work: suspendtest



Date Time and Debug not correct

Hagashen Naidu 2 years ago in Server / Execution 0

Please see attached workflow. When passing the following JSON as input:

"dateTime": "2020-04-14T09:20:18.982Z"

Even though the JSON is valid and I have specified the DateTime Input Format correctly when I debug I get an error that the Input String is not in the correct format. However when I 'View in Browser' it does not show an error. Furthermore the debug input of the tool does not show the input due to the error.


Date Time Issue.bite

PS. I got this to work by making the input format my current system format as it turned out, internally the Newtonsoft de-serializer interprets the DateTime into the system format. This is however hidden from user and would be difficult to find.

I think showing the Debug Input values would help the user see what value was actually being used and then they could adjust the format based on that. There is a case for saying that the format should not have changed without me explicitly doing so.

execution tool

RabbitMQ limitations (messages per second)?

Michael 4 years ago in Server / Execution 0


is there any limitation on the RabbitMQ Publish Module? 

In my case, I have one recordset with about 60000 different numbers. Now I want to publish this to RabbitMQ. But I only got a message rate of max. 20/s. That's not so fast. With other tools I reached over 20000 per second. 

During the job runs, I've checked the system performance. 
CPU: < 25%

RAM:  2,5Gb / 8Gb

How much messages can WareWolf send to RabbitMQ?


execution service workflow

Executing javascript (question and ideas)

playsted 6 years ago in Server / Execution updated by Pieter 6 years ago 6

What javascript execution engine is used? I have having issues with scripts as some functions are not working properly.

Problem 1:


is valid javascript and works with node and browsers. This should return true.

However running this as a script in a workflow results in an error due to it not being a function.

Problem 2:

If I use variables in the script the strings are not escaped.


[[testPath]] = "C:\test"

In script:

"[[testPath]]" => "c:est"


I think it would be very powerful to use node.js as the javascript execution as it is so widely used. Edge.js is a c# library that allows node to easily be executed from .Net. I haven't researched it much but may be an option.

As far as escaping strings you could predefine them all on a javascript object that the script runs in. Instead of using [[varName]] we could just use $ww.varName if we use $ww as the example object that Warewolf populates. This would take care of string escaping problems and even allow complex objects to be manipulated as expected while coding javascript.

execution server workflow
Pieter 6 years ago

Hi Playsted,

We will look into updating the library in a coming version.

Thanks for the suggestion and thinking on this we will definitely consider it.


Workflow Persistence

playsted 6 years ago in Server / Execution updated by Genie 6 years ago 1


Is workflow state persisted? Can long running workflows (for example if waiting for user interaction/approval) be resumed on server restart? I know workflow foundation supports this (if enabled) but didn't see any specifics in documentation.


execution service workflow
Genie 6 years ago

Hi Playsted,

We have moved away from using the Workflow Foundation engine and in doing so we did not have an immediate requirement from any of our customers to support workflow persistence, and so we did not implement it. So at present there is no state persistence in Warewolf, however should the requirement arise in the market then we can implement it.



File already exists

Anonymous 7 years ago in Server / Execution updated by Gandalf 7 years ago 1

When trying to write a file, I keep getting the error: File already exists.

This was working before as the tool is set to overwrite and nothing has changed, it just stopped working.


windows 10

service execution tool
Gandalf 7 years ago

1. Open c:\windows\temp

2. Delete *.tmp files

Windows workflow foundation creates these files at run time when certain tools are executed.


Format Number tool giving error on valid numbers!

Kyle TFL 7 years ago in Server / Execution updated by Gandalf 7 years ago 3


Im passing a recordset of numbers into the Format Number tool and I keep getting an error in the debug: One of the identified items was in an invalid format.

Everything works until I start passing in decimal numbers, regardless of if I try and round them or not.

I have checked my computer regional settings and they are correct for the numbers I am using e.g. 200.0876 and regional settings says use a full stop . for Decimal Symbol.

I dont know what else to do, please help.

execution tool workflow