Jump to content

Give higher processing priority to async GL balances by dimensions


Recommended Posts

Every time we tried using the asynchronous version of "Get Account Balances by Dimensions", we discovered that frequently was taking 2x-8x more time than the synchronous version. For example, if a relatively large request took 30 seconds with the sync version, async version could get stuck for 2-4 minutes.

Due to that reason, at Velixo, we default to synchronous balances.

The problem with this is that we don't know in advance whether a client is too large for sync balances or not.

Therefore, it's not infrequent that:

  1. We start the client implementation
  2. Client builds out their reports and reaches out, frustrated, to our support, complaining about timeouts
  3. We process the support escalation and recommend enabling the "async balances" setting
  4. The setting switches Velixo to use the asynchronous version of the SDK function

What we'd love to do is to enable async balances by default to skip the "dramatic" flow above, improve UX and decrease the support workload...

However, for us to do so, the async balances API needs to produce the results as fast as the synchronous one, while at the same time never timing out.

After a talk with @Louis Sterio2, I confirmed that async calls go into the report processing queue and can sometimes get stuck there for a while depending on the site load. So, to sum up, at the moment, the UX with async balances is very unpredictable and the clients need to sporadically wait a very long time for their report to complete... Unfortunately this doesn't feel or demo well!

What I'd like to propose, and I know it will probably require cross-team cooperation, is to make the report queue a priority queuewhere "reports" requested by API calls will always take priority. This will bring the performance of balances by dimensions very close to the sync version!

Edited by Pavel Kabir
Link to comment
Share on other sites


  • Create New...