-
Notifications
You must be signed in to change notification settings - Fork 6
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
Implement asynchronous request-reply for VCF annotation #107
Comments
@larrybabb @korikuzma @jsstevenson Would like to hear from you all about whether you feel this is an appropriate enhancement for AnyVar. If not, I can always implement as a separate extension/wrapper. |
also tagging @theferrit32 👍 broadly in agreement that we need something, the current VCF annotator tie-in is really more of a toy example in its present state. I think as the first mover you get to make decisions about internals, and we are a ways (to put it lightly) away from having an alternative set of requirements, so I'm not too worried about being tightly coupled to Redis vs RabbitMQ or even to a particular large data handling pattern. Could we define this in a |
@jsstevenson Yes my intention would be to provide async VCF annotation support as a backwards compatible, optional add-on. The queue/backend needed by Celery would be assumed to be separate from the storage backend used AnyVar (though in theory the backend and storage could be the same for both since Celery support relational databases via Sql Alchemy). My view would be that provisioning the Celery dependencies would be the responsibility of the deployer rather than something we would package into AnyVar. |
Is your feature request related to a problem? Please describe.
Long running requests do not play nicely with cloud-based API hosting services. In general, API response times are expected to be less than 30 seconds. Long running requests unnecessarily consume network resources.
Describe the solution you'd like
Implement an asynchronous request-reply pattern for annotation of a VCF file with VRS IDs using the Celery distributed task queue with Redis as a backend and broker. While the asynchronous request-reply pattern can be implemented in slightly different ways, I intend to follow the semantics defined by Snowflake for integration purposes.
AnyVar would remain deployable and functional without Redis and other async dependencies.
The text was updated successfully, but these errors were encountered: