Live data from Hacker News

Genesis of a New Programming Model

stealthrocket.tech

1–10 of 18 posts

Re: Genesis of a New Programming Model

#2
Hello everyone!

Today marks an important milestone for us with the launch of the developer preview of Dispatch.

Along with a serverless scheduler, we released an open-source Python SDK, providing developers with a simple programming model to integrate with Dispatch. This is the first of many steps on our mission to make distributed application development radically simpler.

To all developers tired of wrestling with infrastructure and eager to experience better tools to develop distributed applications, check out our blog post and take Dispatch for a ride!

Re: Genesis of a New Programming Model

#3

Hello everyone! Today marks an important milestone for us with the launch of the developer preview of Dispatch. Along with a serverless scheduler, we released an open-source Python SDK, providing developers with a simple programming model to integrate with Dispatch. This is the first of many steps on our mission to make distributed application development radically simpler. To all developers tired of wrestling with i…

So Temporal in Python?

Re: Genesis of a New Programming Model

#4

Hello everyone! Today marks an important milestone for us with the launch of the developer preview of Dispatch. Along with a serverless scheduler, we released an open-source Python SDK, providing developers with a simple programming model to integrate with Dispatch. This is the first of many steps on our mission to make distributed application development radically simpler. To all developers tired of wrestling with i…

Always happy to see a new entry in simple-ish distributed programming! Could you summarize how this differs from, say, Erlang/Elixir?

Re: Genesis of a New Programming Model

#5

Hello everyone! Today marks an important milestone for us with the launch of the developer preview of Dispatch. Along with a serverless scheduler, we released an open-source Python SDK, providing developers with a simple programming model to integrate with Dispatch. This is the first of many steps on our mission to make distributed application development radically simpler. To all developers tired of wrestling with i…

So Temporal in Python?

People have told us many times that they tried to use Temporal to solve the problems that we designed Dispatch to solve for, so it's a fair comparison!

What we hope to deliver with Dispatch is a model that is a lot more incremental in its adoption and much simpler than what existing solutions have been able to achieve so far, both in terms of development UX and operational complexity.

Give it a try, and let us know what you think of it!

Re: Genesis of a New Programming Model

#6
post #4

Hello everyone! Today marks an important milestone for us with the launch of the developer preview of Dispatch. Along with a serverless scheduler, we released an open-source Python SDK, providing developers with a simple programming model to integrate with Dispatch. This is the first of many steps on our mission to make distributed application development radically simpler. To all developers tired of wrestling with i…

Always happy to see a new entry in simple-ish distributed programming! Could you summarize how this differs from, say, Erlang/Elixir?

In some ways, there are a lot of similar aspiration with the Erlang actor model!

A major barrier to Erlang is adopting a new programming language, development tooling, etc...

What we aim to do with Dispatch is bring those distributed programming superpowers to mainstream programming languages that are developers are using.

A major conviction we have is that it should be possible to adopt Dispatch incrementally in an existing application.

Re: Genesis of a New Programming Model

#7

Hello everyone! Today marks an important milestone for us with the launch of the developer preview of Dispatch. Along with a serverless scheduler, we released an open-source Python SDK, providing developers with a simple programming model to integrate with Dispatch. This is the first of many steps on our mission to make distributed application development radically simpler. To all developers tired of wrestling with i…

Great post! I suggest adding a link to Dispatch earlier in the body. Right now the reader has to get all the way to "You can sign up to the developer preview for free today at https://console.dispatch.run !" before they know where to click (or maybe I need to get new eyeglasses!)

Re: Genesis of a New Programming Model

#8

Hello everyone! Today marks an important milestone for us with the launch of the developer preview of Dispatch. Along with a serverless scheduler, we released an open-source Python SDK, providing developers with a simple programming model to integrate with Dispatch. This is the first of many steps on our mission to make distributed application development radically simpler. To all developers tired of wrestling with i…

Great post! I suggest adding a link to Dispatch earlier in the body. Right now the reader has to get all the way to "You can sign up to the developer preview for free today at https://console.dispatch.run !" before they know where to click (or maybe I need to get new eyeglasses!)

These are great suggestions, thanks for sharing!

Re: Genesis of a New Programming Model

#9
> Whenever the Dispatch function encounters a temporary error like a rate limit, the operation is rescheduled with automatic adjustment of the back-off delay.

That's great. Is it persisted to retry even after a reboot?

What informs the end user, in interactive situations, and what does it tell them?

What if the operation is delayed so much that it no longer makes sense; can we cancel it?

How do we identify a particular one, out of thousands going through the same function: by some of the arguments, like in memoization?

Re: Genesis of a New Programming Model

#10

> Whenever the Dispatch function encounters a temporary error like a rate limit, the operation is rescheduled with automatic adjustment of the back-off delay. That's great. Is it persisted to retry even after a reboot? What informs the end user, in interactive situations, and what does it tell them? What if the operation is delayed so much that it no longer makes sense; can we cancel it? How do we identify a particul…

Thanks a lot for reading the post and reaching our with questions!

> That's great. Is it persisted to retry even after a reboot?

Absolutely! Our scheduler service manages the state on behalf of the application, even if the program restarts, the operation persists until completion.

> What informs the end user, in interactive situations, and what does it tell them?

Since the Dispatch SDK integrates directly in the code of the application, it's compatible with typical system observability tools. Say you're using metrics or traces to track operations, you can emit this telemetry on your dispatch functions. That being said, we know how important it is to have a built-in solution for this!

> What if the operation is delayed so much that it no longer makes sense; can we cancel it?

Different ways to solve this, one is to simply raise a permanent error so the operation stops, but in some cases it makes more sense for the system to expose controls so the operator can act on group of similar operations for example. Those are features on our roadmap at this time, but definitely agree on the importance!

> How do we identify a particular one, out of thousands going through the same function: by some of the arguments, like in memoization?

Searching through the state or history of the systems is also a key feature that a platform like Dispatch needs to provide to be "complete". We're still in early development so we haven't gotten to add this feature yet, but definitely excited to delivering it!

Post reply on HN