Temporal Community Newsletter: January 2023
This blog post is a public copy of our monthly newsletter sent on January 25. If you'd like to receive upcoming updates by email, you can subscribe to our newsletter here.
We're excited to jump into the new year and have lots of exciting events planned for 2023! From meetups and blogs to workshops and webinars, we've got a ton of awesome content coming you're way, and we can't wait to share it with you!
Don't miss the chance to come hang out and talk all things Temporal with us at PHP UK this February! Mark your calendars and grab tickets early to secure your spot.
For more information on what we've been working on, just keep reading! And as always, we'd love to hear from you—feel free to share feedback in our Community Slack group, or on Twitter (@temporalio), or simply reply to this message.
Python SDK General Availability. Python SDK version 1.0.0 was released and is now generally available (yay!). We strongly encourage alpha and beta users to upgrade to this stable release.
Ruby SDK. The official Temporal Ruby SDK now supports running activities. A fully-featured SDK with workflow support is in the works.
We added a Task priority rate limiter for the background Task processing system. The history scavenger to clean up orphan Workflow data was improved as well.
Meet the team:
Content and Community
Meetups in the new year. Our first meetup was January 24, featuring Ashish Ranjan and Sachin Bansal from Maira and Andrey Dubnil from Maersk. Maira talked about their low-code platform they built on top of Temporal. To be a part of future conversations like these, sign up to join our monthly Flagship Community Meetup!
Upcoming events. It's not just meetups that we have going on right now. The PHP UK Conference is right around the corner, and we're sponsoring! We can't wait to see our EU community on February 14-16 in London.
Onboarding sessions. New onboarding sessions are offered to new Temporal Cloud users. These sessions cover everything needed to ensure a successful start, from account and users setup to Namespace planning, SDK overview, Worker deployment, monitoring, and alerts.
Design sessions. We also have design sessions in the works that will be offered to Temporal developers using both Cloud and OSS. These sessions get into specific design considerations (such as activities versus. local activities) and best practices, including Activity/application failure, versioning, timeouts, Worker setup optimization, and how to avoid common issues (such as “context deadline exceeded”). Weekly office hours for these sessions launch in February.
Understanding and debugging event histories. Tihomir Surdilovic, Principal Developer Success Engineer, hosted a hands-on workshop on January 19. Check out part one of this workshop series on our YouTube channel. And don’t forget to register for part two coming up on February 16. We look forward to seeing you there!
How to test your Workflows and Activities section of the Developer's guide. This section was expanded significantly to cover many aspects of testing your application code, such as testing frameworks, replays, skipping time, Heartbeats, and cancellation. The only caveat is that most of the available samples are in TypeScript. However, more are on the way!
Setting up Prometheus and Grafana to view metrics (OSS). The Temporal Cluster and SDKs emit metrics that can be used to monitor performance and troubleshoot issues. After you enable your monitoring tool, you can relay these metrics to any monitoring and observability platform.
Setting up Prometheus and Grafana to view metrics (Cloud). Learn how to set up and monitor Cloud performance metrics.
Troubleshooting the DeadlineExceeded error. All client-side requests made to the Temporal Cluster are gRPC requests. Sometimes, when these requests can't be completed, you'll see this particular error message: "Context: deadline exceeded.
Why you shouldn't use Run Ids in Workflow logic. The current Run Id is mutable and can change during a Workflow Retry. You should not rely on storing the current Run Id, or using it for any logical choices, because a Workflow Retry changes the Run Id and can lead to non-determinism issues.
An overview of failure categories. There are several categories of “failures” that one must navigate while using the platform. This article provides an overview of each.
Overview of Python SDK sandboxing. The Temporal Python SDK enables you to run Workflow code in a sandbox environment to help prevent non-determinism errors in your application.
Cross-platform search. When you use the docs.temporal.io site search feature or the learn.temporal.io site search feature, the results include both sites. This means you can search for tutorials on the docs site or core concepts from the learn site.
Link previews. When available, on hover, local site links provide a preview of the destination content.
Meet the DevRel team:
See our latest blog posts:
- "The Linear Developer Experience" from Dominik Tornow. Be on the lookout for other exciting content around this topic in the near future.
- For our Star Wars enthusiasts: "Do...Or Do Not: Why Yoda Doesn't Use Microservices" from Samar Abbas
- How we built it: Building Scheduled Workflows in Temporal from David Reiss
- Building Reliable Distributed Systems in Node from Loren
Twitter thread of the month
Check out @DominikTornow on "Thinking Distributed Systems"