Forum Academy Marketplace Showcase Pricing Features

How do you handle Bubble's timeout limitation when using Xano for long backend workflows?

Hi,

I heard many people saying that Xano is great for heavy workflows like bulk data processing, looping and in my opinion, it definitely is superior than Bubble in those cases, so I’ve been migrating some big backend workflows that I had in Bubble to Xano.

The problem is: There are some workflows that take hours to complete. However, we all now that Bubble have a timeout for API calls, so basically, I can’t even initialize those Xano api calls because I get this error in Bubble:

I was wondering if someone with Bubble-Xano expertise could share us how to structure the Bubble-Xano interactions for long workflows where you need to save the response but you can’t because you get the timeout error and also how to initialize the calls, since initializing causes the timeout error as well.

Any guidance would be appreciated.

Thanks!

one option could be you just don’t wait for the response. Send the request to xano and then let xano call an endpoint in bubble (backend wf exposed as public api) to submit the result when it’s ready. Of course you need to verify that the request is a legitimate one from xano.

5 Likes

This would be my approach too

1 Like

Web-hooks are the Gold Standard for loosely coupled architecture. Just make sure you are validating with shared secrets; which can be as simple as keeping track of the unique identifiers you have dispatched to the external service. This is how we integrate with all our services from Stripe to Twilio.

2 Likes

Thanks for replying!
This sounds good. Just thinking, if I do the api call through a client side action, the user will get the infinite loading bar, possibly resulting on an error on screen.

So I guess the best approach would be to do the api call on a backend workflow, which will always result in error as well but nobody would see it (since it is a backend workflow). Do you agree?

What do you mean exactly? You said the workflow in xano lasts hours, do you show a spinner for hours? The point is not to wait for the response at all, just get notified when it’s ready.
Make the request to xano, quickly return a success response saying that the job started, finally call your endpoint when the job completes.
If you prefer you can call xano from the backend and on the client you schedule the backend wforkflow.

2 Likes

This infinite loading bar is what I mean:

Bubble keeps it loading until the api call gets a response (which will never happen).

So this ends up in an error on screen:

But this can be avoided making Xano return a success message, as you said, thanks.

1 Like

of course you need to return something from your request.
You need to split the logic:

  1. request to xano
  2. xano schedule a job and quickly returns a success response to acknowledge that the job is being processed
  3. xano finishes processing the job and makes a request to bubble with the result of the job
2 Likes

you can also use an external service to ease the process. Something like qstash with its callback feature

1 Like