I’ve built a billing app where I have a view showing all customers with active subscriptions. I use the multi-row feature to select all rows and trigger an action that creates draft invoices in another table.
The app runs fine, but when selecting more than 150 rows, it stops responding and won’t recover until I close the Chrome tab. Previously (in November/December), I could process 500 rows at once, but something seems to have changed on AppSheet’s side, and now I have to process batches of 150.
The app is complex, with 10+ spreadsheet tables and an email function that sends a PDF attachment to each customer. I’m on the highest AppSheet paid tier.
How can I process all 500 rows in a single click instead of batching them? Has AppSheet changed its row processing limits
1 Like
I would raise a ticket to AppSheet support>
How long would it take to process the 500 rows? Is a draft invoice being created per row? Have any of the actions changed that process those 500 rows?
I find it hard to believe that you could create 500 draft invoices on a single click. I’ve never had such luck.
I have always had issues with batch processing. I don’t use the built-in batch processing - where you manually select rows and then choose an action to process those rows - but rather have built my own. For example, a user chooses a set of items in an EnumList column and, on Save, actions will loop over those items to add rows or update values.
Using the looping method, I have never been to process more than 110-120 rows without encountering a timeout. In one app I transitioned that looping process to a Google AppScript, even then I could only manage about 150 rows before the Bot times out. To be fair this process is adding rows to about 6 or 7 other tables.
Recently, I created an app with Parent/Child records where the children are added in batches. BUT…when the Parent is deleted all the Children are deleted with it. There are about 260 Children and I have noticed it takes well over 5 minutes to delete those children - whether I utilize AppSheet built-in automatic deletion of the children OR I use a Bot to delete all the children. The app uses BigQuery and I could query the database to see the rows, refresh and literally see only 2 or 3 rows removed on each refresh. This is in a brand new app that has virtually no additional processing to contend with. I would have expected the processing to be much quicker.
All of this is to point out that I have had some experience with batch processing but have never had any luck with it being fast. Whether things are slower (or faster) now than they have been, I haven’t noticed a difference yet.
In my case, I have a Create button a simple add new row action to my Staging table (Draft Invoices)
Once the new row is added to Drafts Invoices, I can trigger a second action to send them to the prod table and there is a bot which will monitor new additions in the prod table and send the invoice email.
This 2 table approach was done, as last year the bot went crazy and started sending invoices which were already sent, so we wanted to prevent this from happening.
Regarding the mutlirow processing, the support team has been unhelpful and just suggested to click 100 rows at a time until all have been processed. Technically I can click 100 rows and immediately go to the next 100 rows, but this possess the risk that I might misclick and send an invoice twice if I trigger the same action on a row which is still processing.