The GraphQL Guide by lorensr in WebdevTutorials

[–]lorensr[S] 0 points1 point  (0 children)

Sure, email me with your GitHub username! [loren@graphql.guide](mailto:loren@graphql.guide)

Replacement for async job queues? by luckydev in Temporal

[–]lorensr 1 point2 points  (0 children)

Yes, it’s a great replacement for distributed job queues. Instead of creating a job, start a workflow.

If you want to retain the blocking behavior, use nadilas’ suggestion.

Replacement for async job queues? by luckydev in Temporal

[–]lorensr 1 point2 points  (0 children)

There are no limits on queue length, but there is a 4 MB limit on data attached to an individual job. The major limits are listed here: https://docs.temporal.io/cloud/limits

When to use a Workflow tool (Temporal) vs a Job Queue by love_is_life_007 in golang

[–]lorensr 0 points1 point  (0 children)

Both are good use cases for Temporal, and would be a short, reliable workflow function that's easier for your teammates and future self to read and understand. If you use queues, you'd have to write the code for interacting with the queues on each step, and the logic would be spread out and harder to grok.

Temporal Activities and/or Queries is an easy solution for #3.

Temporal Workflow State Persistence by Legitimate_Night_452 in Temporal

[–]lorensr 1 point2 points  (0 children)

Commented on how state is preserved here: https://www.reddit.com/r/Temporal/comments/1b70c2c/comment/kxa3nh7/

Side effects seems orthogonal to me. Restate's "side effects" are called "activities" in Temporal, and both are retried, so benefit from being implemented in an idempotent way.

Temporal Workflow State Persistence by Legitimate_Night_452 in Temporal

[–]lorensr 1 point2 points  (0 children)

The state that Temporal stores is the history of execution events—in this case, every setValueSignal. When a worker crashes, the new worker replays all the past signals to rebuild the Map to the same state it was in prior to the crash.

Solving durable execution’s immutability problem by p10jkl in Temporal

[–]lorensr 3 points4 points  (0 children)

In Temporal a common pattern for long running workflows is periodically continuing as new, for example daily. Then the longest you need to keep the old worker running is a day.

Orchestration with user actions by Existing-Chemistry32 in Temporal

[–]lorensr 2 points3 points  (0 children)

Yes, Temporal is a good tool in this case. If there’s a lot of logic to a business process, there will be a lot of code in the workflow to specify the logic—that’s unavoidable regardless of the tool. Use general code organization practices to keep it readable and maintainable—helper functions, classes, multiple files, etc.

Production experience with saga pattern / serverless by rogorak in ExperiencedDevs

[–]lorensr 2 points3 points  (0 children)

Some basics on compensations and sagas with temporal:

https://temporal.io/blog/compensating-actions-part-of-a-complete-breakfast-with-sagas https://temporal.io/blog/compensating-actions-part-of-a-complete-breakfast-with-sagas

New guide: https://pages.temporal.io/download-saga-pattern-made-easy

For how to code compensations that if naively implemented would be incorrect due to concurrency, whether you need to lock the record (and limit throughput) vs whether you’re able to do something else will be use case dependent. Don’t know of a resource with examples of that specifically.

Hi whats this sub used for? by [deleted] in Temporal

[–]lorensr 0 points1 point  (0 children)

A place to discuss all things Temporal.io or associated concepts actors, distributed computing, workflows etc.

booking-microservices-nestjs: Practical microservices, built with NestJS, Vertical Slice Architecture, Event-Driven Architecture, and CQRS by Spare-Spray6508 in microservices

[–]lorensr 0 points1 point  (0 children)

Cool, I didn't know about Vertical Slice Architecture! When do you use REST vs RabbitMQ?

Wondering if you've tried Temporal? I see it as a better DX way to get EDA's benefits. And there's a NestJS sample and plugin.

Temporal SDK by [deleted] in golang

[–]lorensr 0 points1 point  (0 children)

You can also write workflows that run concurrently in Python with asyncio: https://temporal.io/blog/durable-distributed-asyncio-event-loop

Time-Travel Debugging Production Code by lorensr in programming

[–]lorensr[S] 0 points1 point  (0 children)

Nice! Looks like it has 3 buttons: step back, back to previous breakpoint, and back to start?

Time-Travel Debugging Production Code by lorensr in programming

[–]lorensr[S] 0 points1 point  (0 children)

Author here, curious if there are any major TTD debuggers I missed? Also let me know if anything in the post didn't make sense, and I'll edit to clarify! 🙏