Changelog Update #10 - gRPC and HTTP/2 support in the control panel, cache invalidation on redeployments, and deploy background workers with Python Celery tutorial

Hi everyone!

We like pushing the boundaries of what is possible, and today we are thrilled to share that we support deploying applications that use the gRPC or HTTP/2 protocol directly from the control panel.

Let’s dive into this week’s changelog update to see what is new:

  1. gRPC and HTTP/2 support in the control panel

    In February, we announced adding HTTP/2 and gRPC support to our edge infrastructure. Until now, this option was only available via the Koyeb CLI.

    You can now choose the protocol for each publicly exposed port of your services directly in the control panel. Existing exposed ports will remain on HTTP/1 but can be changed to HTTP/2. For gRPC applications, make sure to select HTTP/2 as the protocol.

    HTTP/2 provides performance benefits, reduces latency, speeds up response times, and allows you to deploy a broader type of applications, such as those that rely exclusively on gRPC.

  2. Cache invalidation on redeployments

    Previously, all redeployments used the build cache.

    When redeploying your services, you now have the choice to use the build cache or not. Using a build cache speeds up your app’s deployment time. To troubleshoot build issues, try redeploying without the build cache to see if a fresh build resolves the problem.

  3. New Python Celery tutorial for deploying background workers

    After announcing support for background workers last month, we published our first tutorial showcasing how to deploy a Python Celery worker that uses RabbitMQ as a backing message broker. Deploy a Python Celery Worker - Koyeb

Thanks for reading this week’s changelog update. Have fun deploying services using the gRPC and HTTP/2 protocol and using Celery to deploy your background workers.

See you next week for another update. :slight_smile:

Hello, i have a problem with deploying celery. I make it work with my django project, so I start from beginning with tutorial and it also does not work. In step where I try get the result in console it just freezes and nothing happens, like there wouldn’t be response and i have to interrupt with control+c. Could you help me?

Hello Martin,

Is there a github repository with a minimal case we can use to reproduce the problem?

Yes, it is my repo:

I tried deploy it in many configurations.

Rabbitmq and celery as one app, Django as second and frontend as third app

Rabbitmq, celery and Django as one app and frontend as second

Every service as another app

Rabbitmq as public and private service

Celery worker and celery beat as one service and separately

And probably few more but the result was always the same. Django was connected to frontend, but sended tasks was never executed