Expand my Community achievements bar.

Enhance your AEM Assets & Boost Your Development: [AEM Gems | June 19, 2024] Improving the Developer Experience with New APIs and Events

Error in workflow status

Avatar

Level 5

Hi

I have a custom workflow which moves some files when applied.

Problem is once moved, those file's status shows up as "In Workflow"

Now the workflow archives show up as "Completed" and nothing in workflow instances. Nothing in the logs indicate that the payload is still in a workflow.

Any thoughts?
 

Thanks!

6 Replies

Avatar

Level 4

Check for the workflow symbol on the file / page from damadmin / websites screen.

If it still shows in workflow symbol over it and check if you see a step name. If not check for logs if you see any error during workflow execution. Also ensure you have checked handler advance in your workflow model on all process steps so that the workflow continues its flow.

Please revert if my response didn't help or mark answered if it helped!

Regards,

Ashwin Raju

Avatar

Level 5

Handler advanced is checked and no error's in logs. Half the assets show with status while the others don' have the status.

Any help on this?

Avatar

Employee

Are you moving random files or the payload of the workflow?  Are you modifying the payload of the worklfow as part of your custom step?

There is a listener that can be configured to automatically adjust the payload of a running workflow when the payload for that workflow is truly moved.  Are you moving or copying the payload?

 

Also - this is an in memory cache of running worklfows and their payloads... if you restart your system the status will disappear.

Avatar

Level 5

I'm moving only the payload of the workflow using the following package com.adobe.granite.asset.api.AssetManager.

I'm strictly using the moveAsset(String, String) method.So I'm guessing this happens because the file is truly moved but the payload hasn't changed to the new location?

 

Thanks

Avatar

Employee

Well, I don't know.  It sounds like the newly moved to location is now what is stored in the cache, since when you look at the status for the new asset location it is indicating that it's in a running workflow.

I would try modifying the payload of the workflow yourself immediately before or after moving the asset, it seems like there is a race condition here.

use "workflowSession.updateWorkflowData()"