Comments (2)
Why paralllel? Can we not push down the catches onto the subsequent states?
from functionless.
Currently we are using the built in retry and not catch. This enables built in exponential backoff and only counts as one state.
Using Parallel with Retry
This is a common strategy, as @tvanhens mentioned, he also used it to implement retry over an arbitrary block of states.
Limits
- Mutable variables are more difficult to implement.
Pushing Retry down to the states
The retry max attempts would be restarted for each state
$SFN.retry(() => { func1(); func2() })
This would retry both functions up to 3 times for any error, while the current contract is to retry the whole block up to 3 times.
Implementing our own Retry
Would require multiple extra states
task -> catch -> increment attempts -> check attempts -> wait -> task.
Limits:
- backoff cannot be a fraction
- 4 extra transitions
- Adds extra data to the state.
I kind of like this option except for the backoff limit.
from functionless.
Related Issues (20)
- Feature: escape hatch for Step Function Tasks HOT 2
- Resolve dead links in type docs.
- Support forward-referencing (or late-bound references) from closures
- StepFunctions: support `flatMap`
- Step Functions: String startsWith and contains
- Support explicit `register` hook for functionless HOT 8
- StepFunctions: Promise.all(array.map) should be parallel HOT 2
- Design: Post-Deployment Fragment Executable.
- Bus: Step Function fails when there are uninitialized members and map/parallel states.
- Bug: `$AWS.SDK` method types return `Date` in step functions HOT 2
- Step Functions: implement `?.` for undefined literals HOT 1
- Bug: Step Functions truthy logic on an object return undefined. HOT 1
- Optimization Feature - Step Functions: Type Hints
- Bug: $SFN.ForEach bound argument uses the wrong source path HOT 2
- Deprecate V1 closure serializer and default to V2 HOT 1
- Step Functions and AppSync : document supported built-in functions and integrations.
- create-functionless-app: Created app cannot synth when using npm
- create-functionless fails with yarn 3
- Is functionless still alive HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from functionless.