Passing parameters into dedicated queue processor

Is it possible to pass parameters or other metadata into a dedicated queue processor?

I’m using a queue processor to sync case information to a backend DB. I want to make more flexible/dynamic where when a case is queued a parameter is passed that is used to determine the action that is run.

For example, if one of the case parties changes I want to call a party update API, pass in only the updated party info, and then write any returned information back to the case.

The standard queue processor supports this to a degree and stores any parameters passed to the activity referenced in Queue-For-Processing method in the element of the XML. The standard processor does not however, allow tuning of the QP performance: threads, max attempts or delay. Which is something we expect to need.

Dedicated queue processors support referencing activities that requires parameters but there appears to be no way to pass dynamic information into them without using a snapshot page which prevents us from using the case locking feature.

Updating with the solution.

We worked around the limitation by queuing a snapshot page with the parameters: ActivityName, ActivityClass, and pzInsKey. The QP activity then parses those values opens the case, and calls the activity via a java step. It works, case lock and failures need to be handled manually but we did gain the ability to selectively lock cases when there QP process only requires reading data.

@rwtaylor HI ,

Can you elaborate more on how to use Snapshot page under QP method and about the java step .

Thanks In Advance

@RamyaK4550 @rwtaylor : did we get any resolution for this? trying to pass parameters to Dedicated queue processors.

@arkaB871 @RamyaK4550

The basic idea is to create an empty page and populate it with the parameters you need to locate the case and run the activity and queue that page to the queue processor rather than the case itself.

Then configure the queue processor with an activity similar to this that uses the properties stored on the qp page to open the case and run the activity against it.

@rwtaylor still not sure how to achieve the following -

Activity A has Param.p1,p2,p3 etc. Now if I’m calling QP (from within Activity A using method Queue-for-processing with the above mentioned configs ) which will execute Activity B when invoked, then how do I access the params p1, p2, p3 inside Activity B there?

The QP activity at no point is able to access the params present at the calling point during the invocation of the QP - this is the problem statement I am trying the present here..

@arkaB871 Just saw this reply. In this design, within activity A, the parameters are mapped to properties on qpPage and that page is queued to the queue processor. Activity B, simply reads those properties off the primary page and maps them back to parameters for execution.