smartcontractkit / smartcontractkit/chainlink
[FEAT] NODE - support restarting failed job runs
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 8.2k
- Forks
- 2k
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 202
Description
Description
Support restarting failed job runs.
Motivation
This is important for the request & receive cycle . In fact, node operators call external APIs (directly or through external adapters). The API call could fail for many reasons, which are not caused by data provided by the smart contract: Network issues, throttling on the API provider, bug in the external adapter...Etc. In these situations, restarting the job can fix the issue (e.g.: If there is throttling, then the node operator can restart the job a bit later)
Justification
Let's take the throttling example where the client ensured his smart contract is working perfectly fine and providing the right data to the Oracle node. The issue is between the Node & the API provider:
Client --call--> Smart contract --chainlink call --> Oracle Node --api call --> API Provider (throttles)
- In the current solution, the client loses more gas + LINK than originally expected. In fact, he will have to try again , paying extra fees
- With this feature: there are no extra calls, hence no extra fees. The node operator can restart the job run when the issue is fixed
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or entry points are identified. First trace how the node records failed job runs and how operators manage them, then clarify the restart behavior and add tests that define when a restarted run is complete.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend, blockchain
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100