Slow sync after action is performed

Hi Everyone,

Im quite new to appsheet, and coding in general, however I have used spreadsheets ALOT. I have created a custom app that lets people check out equipment, and tracks when that equipment was checked out, by who, and for what project, as well by when they are going to return it. Currently I have it set up as three tabs, a personal equipment log (tied to the users email for what equipment they have checked out), a general equipment list with all equipment in the company, and a equipment log tab, showing a history of all check outs and returns. I am having a problem with, whenever the check out or return action are pressed, there is a long delay for the app to sync (~5-6 seconds). This is a problem, and is quite annoying if you need to check out multiple pieces of equipment. My check out and or return action work like this:

If an item is available, you can check it out
you press the action, it changes the item to unavailable, and logs the check in date as TODAY()
the item is then unavailable to anyone except USEREMAIL().
I also have a hidden action called LOG, which copies useremail, check in date, and return date to another table.
my return action is essentially the same thing but the opposite.

I am trying to get the sync to happen almost instantly when the action is pressed, and I do not have lots of computation (i think) or lots of rows, etc. I have delayed sync and all that jazz enabled but it still takes 5-6 seconds.

If there is a way for the sync from the clicking of the action to happen in the background to allow people to continue checking out equipment while it happens, would be a great workaround. But im not sure if that is possible!

Any help is appreciated!

Welcome to the AppSheet community.

It is not exactly clear on what kind of view the actions are but you may wish to evaluate the below option of bulk actions

Im not sure that really answers my question above. Im not really looking to check out multiple items at once, but to speed up sync when I do check out an item. Essentially when I check out an item, I group 2 actions together. One that changes 3 rows ( changes available to unavailable, changes check in date to TODAY(), and sets return date to whatever the person inputs in that field), then it performs a Log action, and stores that info on another tab in my google sheet for anyone to be able to see. However this takes 5-6 seconds as i said above, and I am looking to decrease this time to around 1 second or less.

Sorry, I thought by the above statements you meant the issue was with multiple items check out in succession that could be addressed by bulk actions.

On your current requirement, any specific reason you are trying to reduce the timing, meaning, is it causing some other challenge from the user experience perspective? This will help to look for any other approach.

I believe if different backend sheets are getting updated through a couple of group actions, then there may be a time of 5 - 6 seconds required, as per my understanding. However, the community may provide better insights on this timing part.

Essential reading:

That does seem to be my problem. It appears using a grouped action of 3 actions, I am trying to copy a few rows (my check in date, my return date, person who checked out the item, and what the item is) and put those into another tab that stores them in a new row each time a check out action or return action is performed. Is there another way to do this by say using a workflow? (i tried but for some reason I could not get my Log action to work with a workflow)

1 Like

Hi Steve,

I have already read through these things but i cant seem to get the timing down. I am now trying to perform a sync in the background when my “check out” action and “return” action are pressed, but I cant seem to get that to work!!!

Are you forcing a sync with a deep-link that includes &at=?

Nope!

I think I am incorrectly copying data from one tab to another. Currently I am using the “Add a new row to another table, using values from this row” Action, and i link my two tables together, and group that action, with my “check out action”. However instead of it doing this in the background (like my check out action is doing), it forces a regular sync and causes my 5 second delay.

1 Like

Actions typically do not force a sync unless specifically configured to do so. Please post screenshots of the configurations of involved actions. Because you’re a new member, you may have to combine all of the screenshots into a single image, as new members are subject to upload limits.

Hey Steve,
Thanks alot for helping. Here are all my actions

1 Like

Well, the reason your app is syncing is because your Sync action tells it to:

image

Remove that action and your app won’t disruptively sync every time:

image

2 Likes

Well… That did it… I feel very dumb! Thank you so much!!! I completely forgot I put that in there!!!

1 Like