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

Reload manifest in RPC server when a SIGHUP signal is received #1684

Closed
drewbanin opened this issue Aug 14, 2019 · 1 comment
Closed

Reload manifest in RPC server when a SIGHUP signal is received #1684

drewbanin opened this issue Aug 14, 2019 · 1 comment
Assignees
Labels
enhancement New feature or request rpc Issues related to dbt's RPC server

Comments

@drewbanin
Copy link
Contributor

Describe the feature

When a sighup is received, the RPC server should reload the manifest in the parent process. New requests to the RPC server should use the fresh manifest when it is loaded.

Queries to the RPC server during a reload can either see the previous version of the manifest, or they can block until the manifest is loaded.

This is a sensible approach because the RPC servers uses subprocesses for each request and it's easier to pass state "down" to a subprocess than it is to pass it back "up" to the parent process. The alternative here would be to expose and endpoint like /reload, but I think a hup signal accomplishes the same thing while being simpler to implement.

@drewbanin drewbanin added enhancement New feature or request rpc Issues related to dbt's RPC server labels Aug 14, 2019
@drewbanin drewbanin added this to the Louisa May Alcott milestone Aug 14, 2019
@beckjake beckjake self-assigned this Aug 22, 2019
beckjake added a commit that referenced this issue Aug 27, 2019
…d-manifest

reload RPC server manifest on SIGHUP (#1684)
@beckjake
Copy link
Contributor

Fixed in #1699

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request rpc Issues related to dbt's RPC server
Projects
None yet
Development

No branches or pull requests

2 participants