Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
p10jkle
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
7 ms
·
31.
▲
by
p10jkle
2y ago
> I was of course just thinking about the "front" of the execution, when you're sleeping for 2 days and you want to switch out a future step. Switching out logic that has already been committed is a harder problem. That&#x
32.
▲
by
p10jkle
2y ago
> Could you elaborate on that? What I mean is that executing a software artifact from, lets say, a month ago, just to get month-old business logic, is extremely dangerous because of non-business-logic elements. Maybe it uses the old DB c
33.
▲
by
p10jkle
2y ago
I don't personally believe this immutability property should be used for handlers that run for more than say 5 minutes. Any longer than that, I'd suggest the use of delayed calls, which explicitly will serialise the handler argume
34.
▲
by
p10jkle
2y ago
Our goal is to make it easier to write code that handles failures - failed outbound api calls, infrastructure issues like a host dying, problems talking between services. The primitive we offer is that we guarantee that your handlers always
35.
▲
by
p10jkle
2y ago
not necessarily - we store the intermediary states of your handler, so it can be replayed on infrastructure failures. if the handler changes in what it does, those intermediary states (the 'journal') might no longer match this. th
36.
▲
by
p10jkle
2y ago
I wrote two blog posts on this! It's a really hard problem https://restate.dev/blog/solving-durable-executions-immutabi... https://restate.dev/blog/code-that-sleeps-for-a-month/ The key
37.
▲
by
p10jkle
2y ago
It's not on 1.0 yet, and it was written by someone external (who we have hired, but hasn't started yet :D). So I would say Go is still in coming soon mode, unless you want to just do a POC on 0.8.1 (which is fine, someone on the d
38.
▲
by
p10jkle
2y ago
I don't think its a template, I'm afraid! Its a webflow site though
39.
▲
by
p10jkle
2y ago
Probably one of our two most requested languages. We absolutely are going to do it, probably in the next 6-12 months :)
40.
▲
by
p10jkle
2y ago
we talk a bit about compensations in the post: https://restate.dev/blog/graceful-cancellations-how-to-keep-... the gist is that you can just use catch statements and put rollback logic in it. Restate guarantees that ha
41.
▲
by
p10jkle
2y ago
Someone already contributed an MVP; in the next few months we'll be adopting it fully and upgrading it to 1.0 (we hired the awesome Azmy after he built it) https://github.com/muhamadazmy/restate-sdk-go
42.
▲
by
p10jkle
2y ago
Hey all, I work with @sewen, and I focus on the cloud platform which also launched today ( https://restate.dev/blog/announcing-restate-cloud-early-acce... ) Happy to answer any questions :)
43.
▲
by
p10jkle
2y ago
I've been working on the cloud platform for this for some time - has been a lot of fun. Happy to answer any questions if people have them
44.
▲
by
p10jkle
3y ago
Yeah, in my view only an 'intent' eg a request, or event in queue, or a line in a DB, should span that kind of time. Then you just version that intent
45.
▲
by
p10jkle
3y ago
It's a hard problem; we are basically building a distributed database from scratch to solve it. You have to pick a position on the DB-design trade-off curve where you can store state with low latency, consistently, where the state is v
46.
▲
by
p10jkle
3y ago
In general, if you're changing database schemas, you need a code version running that supports old and new. If you have some old code running to serve in-flight requests, you probably need to wait for those requests to complete. This i
47.
▲
by
p10jkle
3y ago
It's probably the next on the list :)
48.
▲
by
p10jkle
3y ago
if you replay the request on the new version then you might encounter new steps that don't match what you have in the journal. temporal users know this pain well...
49.
▲
by
p10jkle
3y ago
If don't keep old code around, you are forced to either drop pending requests that started on them, or try and replay them on the updated code, which can't be known to be safe. So it's better to keep it around, but this bring
50.
▲
by
p10jkle
3y ago
This is a full programming language! It’s just designed for exactly this goal.
51.
▲
by
p10jkle
3y ago
I absolutely loved it and I’ve been extremely impatient to see its release. I used it to generate k8s manifests, Terraform, all infra config files. Very flexible and fun to use
52.
▲
by
p10jkle
3y ago
Yes, I was using it when I joined Apple in mid 2020
53.
▲
by
p10jkle
3y ago
I'm not sure I'd agree its solved already, yes we have some languages (Dhall or Cue probably lead the pack) but I hugely prefer Pcl's syntax and approach. It's like saying that C solved systems languages, so there's
54.
▲
by
p10jkle
3y ago
For me, that's where all the power of the language comes from. It's like writing your config in Go or Python (which I think is also a great approach) except its designed from the ground up for this use case of config generation.
55.
▲
by
p10jkle
3y ago
If you're interested, there's now an unofficial community Discord: https://discord.gg/vDhhCT24
56.
▲
by
p10jkle
3y ago
I used this extensively when I worked at Apple and LOVED it. So excited that its finally out
57.
▲
by
p10jkle
3y ago
It's also an incredibly effective way of getting fascists elected - who can then use their platform to gain legitimacy and support. I look at Europe and see fascist parties gaining seats in every country - except the UK, because in the
58.
▲
Show HN: Restate, a Distributed Async Runtime
(github.com)
2 points
by
p10jkle
3y ago
|
0 comments
59.
▲
by
p10jkle
3y ago
yep no busy waiting for calls and sleeps within the system. However, 'sideEffects' where you basically just commit the result of an external operation still block the Lambda. But we're thinking about exposing a `fetch` api di
60.
▲
We got 400 LoC StepFunctions to 40 LoC TypeScript by making Lambdas suspendable
(restate.dev)
12 points
by
p10jkle
3y ago
|
4 comments
More ›