agoda-com / agoda-com/net-loadbalancing

Add resource parameter to `OnError` error handler

Open
#41 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C#
Stars
25
Forks
16
PR merge metrics
No merged PRs in 30d

Description

# Feature request

## Type

- [ ] - Enhancement - completely new feature
- [x] - Improvement - make what we have better

## Is your feature request related to a problem?

Currently it is not possible to include information about the resource when logging errors in an `OnError` error handler of `ResourceManager.ExecuteAction`, because it only gets the `exception` and the `attemptCount`.

```c#
public delegate void OnError(Exception error, int attemptCount);
```

## Describe the solution you'd like

An extra `resource` parameter in `OnError`.
Example:
```c#
_resourceManager.ExecuteAction(
(serverOptions, _) => doSomething(serverOptions),
(attemptCount, _) => attemptCount <= 3,
(exception, attemptCount, serverOptions ) => _logger.LogError(
exception,
"Failed to connect to server {Host}:{Port}: {Message}",
serverOptions .Host, serverOptions .Port, exception.Message
)
);
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.