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

[🧹 CHORE]: RoadRunner v2025 thoughts #1959

Open
rustatian opened this issue Jun 29, 2024 · 1 comment
Open

[🧹 CHORE]: RoadRunner v2025 thoughts #1959

rustatian opened this issue Jun 29, 2024 · 1 comment
Assignees
Labels
C-enhancement Category: enhancement. Meaning improvements of current module, transport, etc..
Milestone

Comments

@rustatian
Copy link
Member

rustatian commented Jun 29, 2024

Discussion is here: https://github.com/orgs/roadrunner-server/discussions/1960

Let's keep this ticket clean of discussions and leave only ideas on how to improve RoadRunner in the next major release.

Current ideas:

  1. RPC and Logger (and Configurer?): Use these plugins as a basic building blocks, like libraries, not plugins. Reason: currently we have many dependencies for both, RPC and Logger plugins. This prevents us using plugins which have circular dependencies, e.g.: app-logger. App-logger depends on a logger, but with RPC, so internally, this is a separate plugin, because we can't depend on a Logger and RPC at the same time the main logger plugin depends on RPC. Because app-logger also depends on RPC.
    So, the idea is to use RPC, Logger and might be configurer (not sure about it) as separate libraries, which can be easily configured using only config plugin.
  2. Add enabled=true/false to the plugins' configuration to easily disable plugins via env variables.
  3. Single version for the plugins and RR. Currently, plugins have a regular semver. Sync the version with RR and use calver.
  4. Update AMQP driver dead-lettering logic: link
  5. All seconds configuration values ​​must be in the same format. For example: endure.watchdog_sec is int, but endure.grace_period is string like 10s, redial_timeout from AMQP driver is string.
  6. Jobs plugin: add pipeline name to tag for rr_jobs_jobs_ok/err and rr_jobs_push_ok/err metrics.
  7. Jobs plugin: add rr_jobs_requests_queue similar to rr_http_requests_queue?
  8. Redis driver with a complete Redis API support. Possibly based on some non-redis drivers due to their license update.
@rustatian rustatian added the C-enhancement Category: enhancement. Meaning improvements of current module, transport, etc.. label Jun 29, 2024
@rustatian rustatian self-assigned this Jun 29, 2024
@rustatian rustatian pinned this issue Jun 29, 2024
@rustatian rustatian moved this to 🆕 New in Jira 😄 Jun 29, 2024
@rustatian rustatian added this to the v2025.1.0 milestone Jun 29, 2024
@Kaspiman
Copy link

Kaspiman commented Jun 29, 2024

  1. Let's fix Priority for AMQP driver: from A lower value corresponds to a higher priority to A higher value corresponds to a higher priority.
  2. All seconds configuration values ​​must be in the same format. For example: endure.watchdog_sec is int, but endure.grace_period is string like 10s, redial_timeout from AMQP driver is string
  3. Workers reloading, but command called reset. it could be consistent with systemd reload
  4. Jobs plugin: add pipeline name to tag for rr_jobs_jobs_ok/err and rr_jobs_push_ok/err metrics?
  5. Jobs plugin: add rr_jobs_requests_queue similar to rr_http_requests_queue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-enhancement Category: enhancement. Meaning improvements of current module, transport, etc..
Projects
Status: 🆕 New
Development

No branches or pull requests

2 participants