You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
One of the main benefits of having TES requests intercepted by proTES is that it allows for the distribution of tasks over a network of TES instances, regardless of whether the workflow engine that emitted the TES request contains such a feature. Through the integration of a task distribution logic, proTES will be able to select the most advantageous TES instance for a given task, according to cost and/or clock time considerations.
Describe the solution you'd like
The proof-of-concept task distribution app TEStribute has recently been developed.
A publicly accessible API service of TEStribute can be integrated by service calls to its single endpoint /rank-services. Refer to TEStribute's documentation for details.
Describe alternatives you've considered
If no publicly accessible TEStribute API service is available, the package can also be imported and used in the following manner (refer to TEStribute documentation for details):
from TEStribute import rank_services
rank_services(...)
Additional context
Note that TEStribute currently works slightly beyond the GA4GH specs, i.e., it makes an assumption of data repository services that is not warranted by their specification and it amends a property in a model of one endpoint and adds another required endpoint to the TES specs, thus making it only with specifically tuned TES implementations for now. For this reason, the use of the task distribution logic middleware must be optional (set a switch and necessary config parameters in the config file.
The text was updated successfully, but these errors were encountered:
The controller handling incoming task requests is in pro_tes/ga4gh/tes/endpoints/create_task.py. This would be the place to inject any middleware. Best is to abstract this a bit by adding a module middleware.py somewhere and then add calling of TEStribute as a function or class...
For the time being, we have implemented a (simpler) task distribution logic (which took portions from TEStribute) right in proTES, see #119. Integration of TEStribute will be put on hold until further notice (together with #37).
Is your feature request related to a problem? Please describe.
One of the main benefits of having TES requests intercepted by
proTES
is that it allows for the distribution of tasks over a network of TES instances, regardless of whether the workflow engine that emitted the TES request contains such a feature. Through the integration of a task distribution logic,proTES
will be able to select the most advantageous TES instance for a given task, according to cost and/or clock time considerations.Describe the solution you'd like
The proof-of-concept task distribution app TEStribute has recently been developed.
A publicly accessible API service of TEStribute can be integrated by service calls to its single endpoint
/rank-services
. Refer to TEStribute's documentation for details.Describe alternatives you've considered
If no publicly accessible TEStribute API service is available, the package can also be imported and used in the following manner (refer to TEStribute documentation for details):
Additional context
Note that
TEStribute
currently works slightly beyond the GA4GH specs, i.e., it makes an assumption of data repository services that is not warranted by their specification and it amends a property in a model of one endpoint and adds another required endpoint to the TES specs, thus making it only with specifically tuned TES implementations for now. For this reason, the use of the task distribution logic middleware must be optional (set a switch and necessary config parameters in the config file.The text was updated successfully, but these errors were encountered: