Achieve Process

Certified Senior Developer

Hello,

If we want to keep alive a process in order to use reports to show information to the customer, is that a big memory usage for Appian? 

Thanks

  Discussion posts and replies are publicly visible

  • 0
    Certified Lead Developer

    Yes. Store required data to database, quit process and report on DB data.

  • As Stefan notes, having long archive settings to allow the use of Process Reports is not a scalable solution.  Back about 10 years ago (before the Tempo days), we had to retain all completed processes in memory for 1-3 years for reporting - the server would become unstable, we had to keep throwing  more memory at it, etc.

    Now, we don't use any Process Reports, process instances are set to archive after 30 days (or less), and all is well.  Data is persisted to the DB between each step of a process and all reporting is done from the DB via a!queryEntity().  Server is happy, and I sleep much better at night.  We're just under 6 million completed tasks in the environment at this time.  

  • 0
    Certified Lead Developer

    That's pretty exceptional.  On our project we're thinking about archiving things after only 3 days, and we have many more intensive processes that archive after 0 days.  That means they disappear seconds after they're complete.

    The first reports I ever did were process-backed reports, and I've never done them since.  Keeping processes alive for a report or record is a terrible waste, because you have to keep all the data you ARE using for the report along with all the data you ARE NOT using for the report.  You can instead keep only what you need in the DB and throw out the rest.  Plus, the DB will store what it does store far more cost-effectively.