Deployed app vs forge tunnel

Hi there,

what is the difference between deploying app and running it via tunnel?
When I run my app via tunnel everything is working, but when i deploy I am getting invocation timeouts every time. Or with tunnel invocation time is extended but in production it will not work ? I tried all environments and it always get to timeout but this was not happening when i was tunneling app.

I think i am reaching this limit : Runtime seconds 25 Total runtime permitted before the app is stopped. But why it does not apply when you are tunneling?

I spend two month building this plugin via tunneling and now when i upload it to production/staging there is now way to use this plugin. Is there a way you can extend this limit to few minutes just for some specific vendors?

Or is there a way to convert Forge app to ACE?

Thank you

Hi,

Would you be able to describe your particular use case? Are these long-running lambdas UI or triggers/hooks?

A large part of why we have the limit is to ensure UI is speedy but also to prevent abuse of our platform.

Cheers

Hi Joshua,

I understand why limits are in place. I just did not realize 25 second limit and when I was developing this app via tunneling it was always working good. So it was big surprise when I uploaded it to staging/prod.

My use case:

  1. Get all issues for spec project (already here my app die, because sometimes project have 5k issues and I can pull max 100 issues per call. So I can pull max few hundreds and than app die)
  2. Get all data form 3rd party API (sometimes I need to do over 25 calls )
  3. Compare data from 3rd party API and custom field in all issues.
  4. Then update, create , transit issues based on comparison .

So you can see that my backed need to run sometimes for couple minutes. Is there some way to accomplish this with Forge? Or what are you suggesting ?

Thank you for your help!

I’m talking with the team who operate the Forge tunnel feature. They’re quite surprised the timeout didn’t affect you during development. They have implement a 25s timeout.

Would you be able to provide your app (or a minimal reproducible example) where the timeout doesn’t show up?

Your use case seems could be facilitated by our async queue. Multiple runtimes will be produced to consume from the queue. Please let me know if this doesn’t fit.

Cheers

How can I provide you my app? you mean links to source code?

I think async queue can help me. I am already using it for creating issues.

Is there a way to get consultation? Because I am not sure how I can rebuild my app for this scenario. During the consultation I could show you how there is no 25 timeout in tunnel in my app.

If there is no way of having consultation, can you provided me example how to get all issues from specific project via async queue?

Thank you for help!

It might be faster talking in person then. Sent you a message.

1 Like

Thanks for the quick chat.

I’ll take a further look why Forge tunnel isn’t terminating the function within the time limit.

In the mean time could you submit a bug report here.

Feel free to create a new thread if the recommended solution with async events doesn’t work.

Thank you for your help!
I am gonna create bug report. What severity level would you say it is?

Thank you
Jan

Minor priority.

All Forge tunnel functionality works except the timeout. This bug can be alleviated by deploying to staging or development for testing.