Spaces:
Running on Zero
Running on Zero
| # ===================================================== | |
| # Apckeyl Framework | |
| # Version 1.0 | |
| # compute_provider_selector.py | |
| # ===================================================== | |
| """ | |
| Compute Provider Selector. | |
| Version 1.0 | |
| """ | |
| class ComputeProviderSelector: | |
| def __init__(self, registry): | |
| if registry is None: | |
| raise ValueError( | |
| "Registry is required" | |
| ) | |
| self.registry = registry | |
| # ================================================= | |
| # Select Provider | |
| # ================================================= | |
| def select( | |
| self, | |
| task_type: str, | |
| ): | |
| if not task_type: | |
| return None | |
| return ( | |
| self.registry.find_provider_for_task( | |
| task_type | |
| ) | |
| ) | |
| # ================================================= | |
| # Check Provider | |
| # ================================================= | |
| def is_available( | |
| self, | |
| task_type: str, | |
| ) -> bool: | |
| provider = self.select( | |
| task_type | |
| ) | |
| return provider is not None | |
| # ===================================================== | |
| # End of File | |
| # ===================================================== |