Process Activity Breaking

Certified Senior Developer

Hi Everyone

I have one subprocess process model which is having 10 nodes  which includes 2 xor gateways ,4 sync record smart service and 4 query database smart service. Complete process is activity chained in parent process we have one ui on click of button this subprocess will execute its should come back to same ui for that we have activity chained complete parent and child process. Now the issue is when we have 3 query database and  3 sync record smart service all works good .We got new requirement to sync one more record that time we have added one more sync smart service that time the process is not working as before.Later in subprocess which is have all sync smart service we just removed 2 xor gateways to decrease the nodes that time its worked properly.What would be the reason for that?

Thanks in advance for the people who helps me to understand this .

  Discussion posts and replies are publicly visible

  • 0
    Certified Lead Developer

    AFAIK, Multiple activity-chained sync record smart services cause record locking conflicts and execution delays. Removing XOR gateways reduced complexity and execution time, preventing lock conflict and allowing the process to complete successfully.

  • 0
    Certified Lead Developer

    You could probably increase the "chained efficiency" and thus decrease the user waiting by doing something more efficient with your multiple Sync Record smart services.  And why are you using "Query Database" at all?  I recommend against ever using that unless there's a critical need for something *only* it can do, which is very rare in my experience.

    The Sync Record smart services, if they aren't **directly** needed for the next user-facing task, could be run in an asynchronous-style side process flow that will run simultaneously to the user's new task.  This of course somewhat depends on what you're doing/showing/querying on your next user task, which you have not specified.

    Can you post a screenshot of your process flow so far, or at least a general outline of it?

  • 0
    Certified Lead Developer

    Is there any reason you're using the Query Database smart service over the others available?

    • Write Records will write and automatically sync your database row. It's a trivial thing to convert a map / CDT to the equivalent record.
    • Database operations that contain any sort of complexity in a large database will likely timeout at 10 seconds in the Query Database smart service
    • The Execute Stored Procedure smart service is far easier to configure, do advanced things with, and maintain
    • Any database functions that contain business logic should likely be refactored into Appian and applied before writing the data
      • Unless they are explicitly for large scale ETL purposes
      • Yet large scale ETL processes in the database are very likely to hit the 10 second timeout
  • 0
    Certified Senior Developer
    in reply to Jesse Knight

    We are executing few sp' s from backend those are inserting few tables those records we needs to sync. For that we need identifier from  the table to sync the corresponding record sync from record smart service . That's why we are  querying the id by using query smart smart service.

  • 0
    Certified Senior Developer
    in reply to Jesse Knight

    Now  we replaced with subrpeocess which is having all sync records to start process its working fine now.Is it suggestable approach.