Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

Granite Workflow Queue Max Parallel

Avatar

Level 5

Hi Masters!

 

I have to configure the 'Max Parallel' workflow threads in my CQ installation, so I have to configure the org.apache.sling.event.jobs.QueueConfiguration osgi bundle. But I don't know the difference between these event topics:

  • com/adobe/granite/workflow/job*
  • com/adobe/granite/workflow/external/job*

 

Could you explain the difference?

My requierement is to control the maximum parallel instances of 'DAM Update Asset' workflow model. Which one must I to configure?

 

Kind regards,

Julio.

1 Accepted Solution

Avatar

Correct answer by
Employee

Hi Julio,

The "external" queue is used for special workflow steps which are built as external steps.  External steps are typically used in situations where you are contacting an external system and polling for results.  For example the "InDesign Media Extraction Process" step is implemented as an external process.  The workflow engine uses the external queue for processing the polling.  You can learn more about external processes here [0]

The non external queue is used for processing other workflows so you could change the value here to max threads.  However in your situation you have another option - you can create a queue for individual workflows.  From the page [1] (after you have run a dam update asset workflow since the machine has been turned on) you can see topic statistics for each topic.  In your case you will see the topic [2] and [3] and [4] which are all used in the Dam Update Asset workflow.  Create queues for each of these topics and give them appropriate values that meet your needs.  The trick here is that generic queues are added to the system that cover all workflows in the same queue and the topic for each job is matched with wildcards, but you can specify more specific topics in additional queues to further customize the configuration for particular workflows.

Hope this helps,

Will

[0] http://dev.day.com/docs/en/cq/current/javadoc/com/day/cq/workflow/exec/WorkflowExternalProcess.html

[1] http://localhost:4502/system/console/slingevent

[2] com/adobe/granite/workflow/job/etc/workflow/models/dam/update_asset/jcr_content/model

[3] com/adobe/granite/workflow/external/job/etc/workflow/models/dam/update_asset/jcr_content/model

[4] com/adobe/granite/workflow/job/etc/workflow/models/dam-xmp-writeback/jcr_content/model

View solution in original post

6 Replies

Avatar

Correct answer by
Employee

Hi Julio,

The "external" queue is used for special workflow steps which are built as external steps.  External steps are typically used in situations where you are contacting an external system and polling for results.  For example the "InDesign Media Extraction Process" step is implemented as an external process.  The workflow engine uses the external queue for processing the polling.  You can learn more about external processes here [0]

The non external queue is used for processing other workflows so you could change the value here to max threads.  However in your situation you have another option - you can create a queue for individual workflows.  From the page [1] (after you have run a dam update asset workflow since the machine has been turned on) you can see topic statistics for each topic.  In your case you will see the topic [2] and [3] and [4] which are all used in the Dam Update Asset workflow.  Create queues for each of these topics and give them appropriate values that meet your needs.  The trick here is that generic queues are added to the system that cover all workflows in the same queue and the topic for each job is matched with wildcards, but you can specify more specific topics in additional queues to further customize the configuration for particular workflows.

Hope this helps,

Will

[0] http://dev.day.com/docs/en/cq/current/javadoc/com/day/cq/workflow/exec/WorkflowExternalProcess.html

[1] http://localhost:4502/system/console/slingevent

[2] com/adobe/granite/workflow/job/etc/workflow/models/dam/update_asset/jcr_content/model

[3] com/adobe/granite/workflow/external/job/etc/workflow/models/dam/update_asset/jcr_content/model

[4] com/adobe/granite/workflow/job/etc/workflow/models/dam-xmp-writeback/jcr_content/model

Avatar

Level 8

Hi Julio,

This topic: https://dev.day.com/docs/en/cq/current/deploying/performance.html#Concurrent%20Workflow%20Processing says:

"it can be helpful to limit the number of concurrently running workflow processes. You can do this by setting the value of the Maximum Parallel Jobs parameter for the instance of Apache Sling Job Queue Configuration that has the Name CQ Workflows."

scott

Avatar

Level 8

Scott Brodersen wrote...

Hi Julio,

This topic: https://dev.day.com/docs/en/cq/current/deploying/performance.html#Concurrent%20Workflow%20Processing says:

"it can be helpful to limit the number of concurrently running workflow processes. You can do this by setting the value of the Maximum Parallel Jobs parameter for the instance of Apache Sling Job Queue Configuration that has the Name CQ Workflows."

scott

 

My apologies....apparently this information is no longer accurate.

scott

Avatar

Level 10

Are you working off an AEM documentation topic? If so -- can you please let me know what topic you are following.