| """ | """ | ||||
| Migrate plugin. | Migrate plugin. | ||||
| """ | """ | ||||
| import concurrent.futures | |||||
| from threading import Lock | from threading import Lock | ||||
| click.echo(click.style("Migrating models/tools to new plugin Mechanism", fg="white")) | click.echo(click.style("Migrating models/tools to new plugin Mechanism", fg="white")) | ||||
| file_lock = Lock() | file_lock = Lock() | ||||
| counter_lock = Lock() | counter_lock = Lock() | ||||
| thread_pool = concurrent.futures.ThreadPoolExecutor(max_workers=workers) | |||||
| thread_pool = ThreadPoolExecutor(max_workers=workers) | |||||
| def process_tenant(flask_app: Flask, tenant_id: str) -> None: | def process_tenant(flask_app: Flask, tenant_id: str) -> None: | ||||
| with flask_app.app_context(): | with flask_app.app_context(): |