Menu
Sign In Search Podcasts Charts People & Topics Add Podcast API Blog Pricing

Cian Butler

๐Ÿ‘ค Speaker
690 total appearances

Appearances Over Time

Podcast Appearances

Rust in Production
Cloudsmith with Cian Butler

This was really cool for me because I was like, cool, here's a project that does exactly what I wanted to do.

Rust in Production
Cloudsmith with Cian Butler

And I started reading the code and I learned that the concept of request cancellation, the thing I was doing all of this to, was not possible in uWhiskey at all.

Rust in Production
Cloudsmith with Cian Butler

Like there was never going to be a chance of doing it in Whiskey because it's just not supported by a protocol.

Rust in Production
Cloudsmith with Cian Butler

Gradient only supports it if you're using ASGI, which is an async version of SGI.

Rust in Production
Cloudsmith with Cian Butler

That's more like a traditional event loop style of async await.

Rust in Production
Cloudsmith with Cian Butler

Completion-based.

Rust in Production
Cloudsmith with Cian Butler

Yeah, it's exactly the same kind of design.

Rust in Production
Cloudsmith with Cian Butler

And you get to reuse all that kind of code that's designed for those IOU loops.

Rust in Production
Cloudsmith with Cian Butler

But we sat down and we'd already started looking at it.

Rust in Production
Cloudsmith with Cian Butler

So it saved me a lot of time in that concept of prior art, walking down paths that we could have lost so much time if I had spent working on it.

Rust in Production
Cloudsmith with Cian Butler

But it did have a feature that I loved.

Rust in Production
Cloudsmith with Cian Butler

And that was it had a built-in queue for managing the requests.

Rust in Production
Cloudsmith with Cian Butler

So right now, to this day and at the time, we were running HAProxy in front of uWhiskey to allow us to scale.

Rust in Production
Cloudsmith with Cian Butler

HAProxy was effectively doing the queuing for us, managing work in a queue, and then handing it off to a uWhiskey process that would hand it off to a Django process and do the request.

Rust in Production
Cloudsmith with Cian Butler

And for reasons that elude me of why an engineer decided to do this, we also are running an Nginx in front of the HAProxy to do very light routing control and optimizations.

Rust in Production
Cloudsmith with Cian Butler

Nothing that couldn't have been done in HAProxy, but it was just being done in Nginx for some reason.

Rust in Production
Cloudsmith with Cian Butler

And there was a ticket on a backlog for years of merge HAProxy and NGINX together and just have HAProxy.

Rust in Production
Cloudsmith with Cian Butler

You're probably right.

Rust in Production
Cloudsmith with Cian Butler

Nginx is a really nice config.