URGENT! Can't build image

My app suddenly can’t build an image:

Error: Failed to build image (timeout after 120000 ms)

I never had this problem before. Is this a new restriction for Basic users?
I only have 9 packages and not being able to update them due to such a short build-timer is rather silly.

I can tell you the 2 minute build timeout is not new, but it does seem to be longer for higher plans. And you might find something helpful searching the forum for similar posts.

My quick thoughts:

If you look at the build output, is it close to finishing? If so, maybe retry it a few times (if you haven’t already)?

If any of your packages are part of one of the base environments, maybe you could switch to a different base and save time?

Nothing I try makes it finish building before the 2 minute timer runs out.
I need the timer increased please. 2 minutes is way too narrow a window, the server isn’t exactly the fastest I’ve seen when processing either.

I don’t see the time limit pricing documented anywhere, but I just checked and my own current limit, on the Professional plan, is 4 minutes.

1 Like

I can’t believe this is a hard limitation, as it stops users from updating their packages, even simple ones. My app is dead in the water now and customers cannot access it just because I’m updating the build with newer package-versions to get rid of vulnerabilities? This is utterly ridicolous.
I really need someone from the Anvil staff to clarify this, surely the 2 minute timer can be increased without buying a more expensive plan?

Perhaps anvil-app-server is a good solution for you - with it, there are no limitations to the build environment, database size, etc. I’ve deployed some significant production apps with the open source server, and Anvil offers a supported version, if you need their technical knowledge to back you up.

1 Like

I hear your frustration about the arbitrariness of the 2 minutes, but can you not empathize with our fellow developers’ need for a sustainable business model? I’m not sure it’s really fair to insist that the Personal plan meet the needs of your app with (presumably) paying customers. And if you don’t want to pay the Professional rate, there’s the anvil-app-server option.

2 Likes

That is a good point, however I do empathize and I have absolutely no problems with the limitations like bandwidth, database-size, etc. on basic plans.
This particular issue is a timer that is so limited it actually makes you unable to update a build that consists of 9 small python-packages to keep it free from vulnerabilities, rendering your entire application dead in the water. Hence why I find this so ridicolous. It’s a small and rather simple application, customers or not.

On another note, when just starting out and your customer-base consists of next to nothing, the Professional Plan is rather expensive. When and if I actually get some traffic to speak of, I will of course buy a more extensive plan, and I certainly would have in a jiffy had if this problem occured in such a situation.

1 Like

I think it is a silly timer, when you watch what it is doing and well over 90% of the processing time is usually taken up by the server uninstalling an old package to install a newer version of something dependent that isn’t in one of the base models.

It makes even installing anything ML related a nail-biter when it has to like re-install the version of pytorch because it’s one single .02 versions newer than what is already in the machine learning package.

So I’m not saying the limit should be moved, but we should have access to WAY more additional pre-configured base environment types, and they should be added to a much more updated, and growing list of base environments that is searchable after toggling some sort of “advanced” selector.
They should not get deleted since some people need them to use for older libraries.

Currently It takes like 2.5 minutes out of the 4 to uninstall-reinstall the same barely different pytorch library, then add to that a new requests library that has a tiny security patch for a known vulnerability and it also has to be uninstalled then reinstalled. You can’t do anything else at all, you just ran out of time.

2 Likes

So @tommy1 , I don’t know if you have tried other base packages, but at this point you might as well try all of them with the version you want of your packages pegged with ==. You might find one of them will build in the allotted amount of time from scratch faster than removing / replacing a package that is already in the environment you chose.

1 Like

So to provide a bit more information, I have 3 apps. They worked fine and had their images built proper last i checked some time ago.
I logged in 24th and suddenly none of them worked and “Image does not exist” popped up under the Python version settings on all of them.
Yesterday, I couldn’t build an image on any of them due to timeout.

Today:
1st one got built, used 2 minutes 39 seconds, no timeout
2nd one got built, used 2 minutes 21 seconds, no timeout
3rd one cannot build, timeouts after exactly 2 minutes

So questions to the Anvil devs:

  • why the 2 minute timeout?
  • why didn’t the timer kick in on the two I managed to build today?
  • any reason why the image “resets” like this?
1 Like
2 Likes

Also, it is a beta. People have abused the word beta in the past, (gmail was in beta for like 10 years) but that still does not mean you have a guarantee of 100% - never gonna have to fix it if I just don’t touch it - reliability.

Maybe the day it’s finally not in beta means that these are no longer problems to worry about hopefully.

So, devs, any chance of increasing the timer slightly?

Hi, @tommy1, we’ve recently increased the timeout for building images, could you try again?

4 Likes

That is awesome, thank you!
I finally got the image built now.

1 Like

My build is also timing out. Only installing three packages. It seems to timeout during the uninstall process.

This post already has an accepted answer.

If that answer doesn’t work for you, then creating a new post will increase the chances of getting some attention.

1 Like