Skip to content
Carolina Code Conference
Served by Ruby (Sinatra) in 3694ms

2024 speaker

Seth Williams

Seth Williams

Senior Software Developer, Snap! Mobile

Snap! Mobile

Atlanta, GA

I've seen some things. I've done some things. Nothing really of note though. I did run into Jerry Springer at a rest stop in Connecticut one time though... so I guess you could say I know some people.

I built our dining room table, so that's pretty neat. I watch more soccer than I probably should, and I have no regrets about it. Automate things.

2024 · intermediate

Durable Code Execution With Temporal

Temporal is a system that makes processing requests in distributed systems a much cleaner and resilient process. In this talk, since it's a lightning talk, we will quickly talk about what Temporal is and then dig into some use cases for Temporal (ie. making calls to 3rd party apis or moving data between internal services). Temporal has 5 main components - the server, the task queues, the workers, the workflows (the orchestrator), and the activities (the business logic execution). We will touch on the first 3 solely as a way to understand the last 2.

We will talk about how Temporal, out of the box, handles retries, failures, timeouts, and compensations so your code is more resilient from the start - and modifying those policies is as easy as assigning attributes to a policy object. On that note, we will also talk about Temporal's automatic state management (naturally goes hand-in-hand with the retries)

We will talk about the various SDK options that are available and how integrating into the Temporal ecosystem is done within the actual code you already work in. We will also touch on the fact that it's open source, so even if they don't have an official SDK for a given language, there's a chance it exists somewhere else (ie. Coinbase's Ruby SDK).

We will also talk about scalability and how simple the process is to scale workers up/down. They operate independently of each other, polling a task queue on their own, making it easy to create/kill workers w/out worrying about much else.

A byproduct of other conversation points will also be taking a look at the Temporal UI that will help you track workflows and activities, monitor their progress, and give you a clean way to view logs.

From the talk