Improve multiple endpoints configuration
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- typescript
- Lĩnh vực
- cli, developer-experience, tooling
Hướng nghiên cứu
Begin by locating the existing endpoint representation in project manifests and CLI flag parsing, then trace how endpoint values flow into project execution. Define the backward-compatible configuration shape and verify CLI JSON input and config-file runs; done means headers, rate limits, weighting, batch size, and retries work without breaking existing strings or arrays.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Description
Currently specifying endpoints is fairly limited. We can only specify a string for each one. But there are many use cases where you would want to have more control over these endpoints. This could include weighting them, specifying headers or rate limiting options.
Different api providers have different ways of providing api keys and other authentication. Currently the only way to do this is with path params and we convert them to headers. This is not very flexible and can lead to logging leaking api keys.
It is nearly impossible to determine the rate limit for an endpoint, being able to specify this will allow for optimal indexing speeds given a rate limited endpoint.
Requirements
- Be backwards compatible with current flags and project manifests
- Introduce a new data structure to specify endpoints details (this is a rough example):
type EndpointConfig = {
headers?: Record<string, unknown>;
rateLimit?: { requests: number, interval: 'second' | 'minute' | 'hour' };
weighting: number; // TBD, this should allow users to specify a primary endpoint that gets used over other endpoints
batchSize?: number; // JSON RPC batch size, where applicable (ethereum)
retries?: number; // Number of retries this endpoint will make before throwing. Default 1.
}
- Allow specifying a default EndpointConfig that applies to all endpoints
Manifests network endpoint would then have the following type string | string[] | Record<string, EndpointConfig>
- CLI flags should accept json strings for this new functionality.
- We should ensure that running a project from a config file works with this feature.
- Ngôn ngữ chính
- TypeScript
- Star
- 18.7k
- Fork
- 396
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của subquery/subql
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
-
Improve project validationĐang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 48/100
Tất cả issue của subquery/subql
Issue tương tự
-
module-request
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
-
ports get and web print 'Port N already in use, trying next...' for every busy port they skipĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
appandflow/stim#1604 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
lingdojo/kana-dojo#31060 · 1 bình luận · 5 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
SSH workspace restore rewrites relative symlinks into the deleted sync-back staging directoryĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
paperclipai/paperclip#14173 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
Maintainer thường phản hồi trong vòng 1 ngày