Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docs: How Inngest works - Durable Execution #760

Merged
merged 9 commits into from
May 24, 2024

Conversation

djfarrelly
Copy link
Member

A new doc page to learn how Inngest works, and how it works with durable execution.

Specifically, this section also should help as the single linkable definition for blog posts and our website content. This also is ideal to have a clear section for search optimization purposes.

Copy link

vercel bot commented Apr 25, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
website ✅ Ready (Inspect) Visit Preview 💬 2 unresolved May 24, 2024 10:36am

Co-authored-by: Sylwia Vargas <45401242+sylwiavargas@users.noreply.github.com>
Comment on lines 39 to 41
Inngest functions are defined with a series of steps that define the execution flow of the function. Each step is defined with a unique ID and a function that defines the work to be done. The data returned can be used by subsequent steps.

Inngest functions are executed incrementally, _step by step_. As functions are executed, the results of each step are returned to Inngest and persisted in a managed function state store. The function is then re-executed and any steps that have already been successfully executed are [_memoized_](https://en.wikipedia.org/wiki/Memoization). This means that the successfully executed steps are skipped and the SDK injects the data returned by the previous execution into the function.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not a blocker but these two paragraphs could really use a flowchart (I will create a Linear ticket as a note to self)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah - visuals would be great for this page, animations too, but we'll at least start with text 😅


Inngest functions are executed incrementally, _step by step_. As functions are executed, the results of each step are returned to Inngest and persisted in a managed function state store. The function is then re-executed and any steps that have already been successfully executed are [_memoized_](https://en.wikipedia.org/wiki/Memoization). This means that the successfully executed steps are skipped and the SDK injects the data returned by the previous execution into the function.

Let's look at an example of a function and walk through how it is executed:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not a blocker but a note to self: this section could use a tool like CodeHike to explain this code as a process

Copy link
Contributor

@sylwiavargas sylwiavargas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for writing this page!

I left a few comments here and there.

@djfarrelly djfarrelly merged commit f1ce85a into main May 24, 2024
3 of 5 checks passed
@djfarrelly djfarrelly deleted the docs/how-durable-execution-works branch May 24, 2024 10:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants