Understanding Glitch free plan

Hi there!
I have just discovered Glitch (Thank you Chat-GPT) for testing a project on a node environment, with API requets, and I am relly loving Giltch. However, once I finish testing my personal project, I will be ready to deploy this to production. Even in production, I won’t be getting a lot of requests. I am wondering what does the free plan offers. May be is enough once my project is in production.

  • ¿Is the server always running on the free plan? The pricing card details “Full-stack apps that sleep after 5 minutes” How does the app wakes up? What does have to happend for the app to wake up?
  • How many requests am I allowed to run per month on the free plan?

Thanks in advance.

No, it will go to sleep after 5 minutes of no requests being made. If there is a request while the app is sleeping, there will be a page saying “Waking up…” which will make the user wait until the app is rebooted.

Your free account is limited to 1000 project hours running per month. This means that your app will run until it hits the 1k hour limit.

1 Like

Hi Mustafa, thank you for the quick reply.

Just one more question about the app in “sleep” mode.

If there is a request while the app is sleeping, there will be a page saying “Waking up…” which will make the user wait until the app is rebooted.

In my case, I do not have an app that the user can interact with. It is a simple node server application, that receives a webhook, and sends a http request to a web-service. In short, my node application is just a middle server, that receives and sends. I guess in this case, there will be a small delay while the app wakes up?

Thanks in advance.

I am guessing that it is kind of an “api”, right?

I am not sure about what will %100 happen, but it will probably be one of these:

  1. Server returns the “Loading…” page and your client-side throws an error because a JSON response was expected
  2. Client waits (10-20 seconds based on your project size) and returns the expected values.

I am guessing that it is kind of an “api”, right?

Yes, that is right.

I am not sure about what will %100 happen, but it will probably be one of these:

  1. Server returns the “Loading…” page and your client-side throws an error because a JSON response was expected
  2. Client waits (10-20 seconds based on your project size) and returns the expected values.

Ok, thank you very much!

1 Like

glitch is designed not to show the Loading page if the requester has an Accept header that doesn’t prefer text/html. So if it wants JSON, it correctly waits for the project to wake up before responding

1 Like

Hey wh0, thanks for that infromation.

I have just console.logged the webhook headers. As far I as I can see, the accept parameter is “*/*” which I guess it means it accepts, anything, in which case it won’t wait for the project to wake up before responding? I am not experienced with webhooks and API’s, but that is what I can tell…

I haven’t tried this yet. ¿Do you think that accept with “*/*” as value will work?

Thanks in advance:

Here is the complete headers:

{
  "traceparent": "00-d23676b82b1b45e688df40b3248cafb7-bd8fadde6784f9fe-01",
  "x-forwarded-host": "vitage.glitch.me",
  "x-shopify-webhook-id": "81635a65-c015-436d-96f4-7630441da555",
  "x-shopify-triggered-at": "2024-12-09T18:13:27.856387115Z",
  "x-shopify-topic": "orders/create",
  "x-shopify-test": "true",
  "x-shopify-shop-domain": "vitageuy.com",
  "x-shopify-hmac-sha256": "wS0LF5G7VB4L5J5GsOu/1I9fSfGhiMTLzCMdgTkmtfI=",
  "x-shopify-event-id": "f8e83768-5967-4fbd-8308-2d250e881a96",
  "x-shopify-api-version": "2024-10",
  "content-type": "application/json",
  "accept-encoding": "gzip;q=1.0,deflate;q=0.6,identity;q=0.3",
  "accept": "*/*",
  "user-agent": "Shopify-Captain-Hook",
  "content-length": "8021",
  "host": "vitage.glitch.me",
  "x-forwarded-port": "443,80,80",
  "x-forwarded-proto": "https,http,http",
  "x-forwarded-for": "34.57.147.106,::ffff:10.10.11.83,::ffff:10.10.84.187",
  "connection": "close"
}

it might not come down to that. there’s other rules too, e.g. if the method is not GET, then it also waits for the project to wake up

Awesome, the webhook is a POST event. That’s awesome news. Thanks!