Timer frequency limits / real time api limitations

Hello,

I would like to confirm if 1 minute is the fastest frequency we can set for timers and is there a way to increase this, like 5 or 10 seconds?

I have a situation where the timer will be part of a “real time” request for an external user, where the user will be waiting for the results which will be delayed by the timer, so the faster this timer can trigger code the better the user experience will be.

For example I have this process flow:

  1. User posts incoming data request data from another system via API
  2. That data gets posted to a BE table called “job_requests” for example.
  3. There will be a timer that monitors the table for new additions and executes JS code that makes an external API request that fetches the data for them from another system which then posts the data back to another BE table linked to that user.
  4. Once the data appears in the other table another timer is monitoring that table and when all the data is available in the table the system then posts all the data to another (the original users) API webhook so the user can receive the data they requested into their system.
    4b. Alternatively, have it function as a real time API where the data is returned within the original incoming API request.

So to clarify our backend is essentially functioning as a data provider API service where the user requests data from our app API and expects it to be posted back to their system as fast as possible. Using these two timers it seems it would add an additional 2 minutes to the speed of receiving their data which is not ideal when they are trying to fetch data in real time or as fast as possible. I hope that makes sense?

Is there perhaps another better faster way to setup this process without timers, with faster timers or where the process can execute instantly or faster without delays?

Secondly due to how backendless works are there any other limitations that would prevent it being used as a real time API service backend where a user can post an API request, stay connected to the endpoint while the backend fetches the data from elsewhere, processes it and then returns the data in the same request in under a minute. What are the current timeouts for API incoming API requests?

Essentially would it be possible to create an API service that would be able to integrate and work with rapidAPI as an API provider.

Thanks.

Hello @Jarad_Nelson

You could create a timer with a custom delay.
image

What about:

  1. There will be a timer that monitors the table for new additions and executes JS code that makes an external API request that fetches the data for them from another system which then posts the data back to another BE table linked to that user.

I would recommend you Event Handler with before/after create action.
You can read more about it here:
link

Regards, Dima

Hi Dima,

Thanks for confirming. Unfortunately it seems there is a 60 second minimum to the timer, please see image below, or have i done something wrong or is there a way to change this limit?

But it seems the event handler would be better suited to my requirement as it should allow me to execute the code instantly once new DB entries appear correct, so using this instead for the whole process I mentioned above means I wont need to use the timer?

Lastly can you guide me in general what I need to do to be able to expose an API publicly for use by external clients apps or with services like rapid API (Add an API (Basics)).

Is it the case that the normal API endpoints like mentioned at this link :frowning:Search with the Where Clause - Backendless REST API Documentation) are only to be used for “internal” app API calls or can this endpoint also be used to allow external apps to request data from my backend or do I need to setup another “type” of API with code for example for this kind of use case?

If you can point me in the right direction for this it would be appreciated.

Thanks!

Hi Jarad,

The timer frequency is more relaxed on the Cloud99 plan, it can be as little as every 5 seconds:

As for public APIs, are you talking about custom API services or the API for your database tables?

Regards,
Mark

Hi Mark,

Oh I missed that in the pricing, thanks for confirming.

For the API query, being non-technical I am not quite sure how to ask or explain this in the correct way.
Let me rather explain what I am trying to achieve.

Essentially I would like to monetize the data in my DB by making it available publicly via API through a service like RapidAPI API marketplace. With that service you add an endpoint to their system and they manage the access and monitoring and billing for you. Rapid API Docs: Adding Base URLs

So I am not sure how or if this can work with backendless and if I simply add the endpoint found in the REST console or API docs into this service as the base URL: https://xxxx.backendless.app/api/data/table1 or if there are other technical considerations or peculiarities specific to backendless that I need to be aware of to be able to do something like this?

Basically I need to know on a high level how to explain to a developer how this needs to be setup for backendless to be able to integrate with RapidAPI so that system can make requests for data from my app tables successfully.

I hope these question makes sense? Thanks

Hi Jarad,

When you create a table in the Backendless database, an API is automatically created for you to work with that table. For instance, take a look at the documentation for saving an object in the database. In there you will see the base URL:

The <table-name> part of the URL is the name of the table you created. Scrolling further down, the API doc provides additional details, such Request Headers and Request body:

I am not familiar with RapidAPI, however, I know that most mature API integration systems should be able to consume an external resource through so called “API docs”. You can generate API Docs for your data table in Backendless Console. For instance, in the screenshot below, I have the City table selected and the icon shown will be used to generate API docs:

We support seven different API formats (click the “Format” drop-down):
Data Browser - ConsoleDemo - Backendless 2022-01-13 17-08-37

I am not sure if this is what you’re looking for though. Hope it helps.

Regards,
Mark

Ok great thanks Mark, I will test this out with Rapidapi, appreciated.