dayhoff-tools 1.4.9__py3-none-any.whl → 1.4.10__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- dayhoff_tools/cli/engine_commands.py +14 -3
- {dayhoff_tools-1.4.9.dist-info → dayhoff_tools-1.4.10.dist-info}/METADATA +1 -1
- {dayhoff_tools-1.4.9.dist-info → dayhoff_tools-1.4.10.dist-info}/RECORD +5 -5
- {dayhoff_tools-1.4.9.dist-info → dayhoff_tools-1.4.10.dist-info}/WHEEL +0 -0
- {dayhoff_tools-1.4.9.dist-info → dayhoff_tools-1.4.10.dist-info}/entry_points.txt +0 -0
@@ -1623,6 +1623,9 @@ def attach_studio(
|
|
1623
1623
|
else:
|
1624
1624
|
raise typer.Exit(1)
|
1625
1625
|
|
1626
|
+
# Track whether this command just started the engine (affects retry length)
|
1627
|
+
engine_started_now = False
|
1628
|
+
|
1626
1629
|
# Retrieve SSH public key (required for authorised_keys provisioning)
|
1627
1630
|
try:
|
1628
1631
|
public_key = get_ssh_public_key()
|
@@ -1639,7 +1642,7 @@ def attach_studio(
|
|
1639
1642
|
transient=True,
|
1640
1643
|
) as prog:
|
1641
1644
|
task = prog.add_task("Attaching studio (engine is still booting)…", total=None)
|
1642
|
-
ATTEMPT_LIMIT = 40 #
|
1645
|
+
ATTEMPT_LIMIT = 40 if engine_started_now else 6 # shorter retries for already-running engines
|
1643
1646
|
RETRY_DELAY = 10
|
1644
1647
|
for attempt in range(ATTEMPT_LIMIT):
|
1645
1648
|
success, error_msg = _attempt_studio_attach(studio, engine, target_user, public_key)
|
@@ -1648,7 +1651,8 @@ def attach_studio(
|
|
1648
1651
|
break # success!
|
1649
1652
|
|
1650
1653
|
# Update spinner description with attempt number
|
1651
|
-
|
1654
|
+
if attempt % 3 == 0: # update every 3rd attempt to avoid spam
|
1655
|
+
prog.update(task, description=f"Attaching studio (engine is still booting)… {attempt+1}/{ATTEMPT_LIMIT}")
|
1652
1656
|
|
1653
1657
|
if error_msg:
|
1654
1658
|
console.print(f"[red]❌ Failed to attach studio: {error_msg}[/red]")
|
@@ -1699,7 +1703,14 @@ def _attempt_studio_attach(studio, engine, target_user, public_key):
|
|
1699
1703
|
"not available",
|
1700
1704
|
"pending", # VM state pending
|
1701
1705
|
]
|
1702
|
-
|
1706
|
+
FATAL_PATTERNS = [
|
1707
|
+
"in-use",
|
1708
|
+
"already attached",
|
1709
|
+
"permission",
|
1710
|
+
]
|
1711
|
+
if any(p in err_msg for p in FATAL_PATTERNS):
|
1712
|
+
recoverable = False
|
1713
|
+
elif any(p in err_msg for p in RECOVERABLE_PATTERNS):
|
1703
1714
|
recoverable = True
|
1704
1715
|
|
1705
1716
|
if not recoverable:
|
@@ -3,7 +3,7 @@ dayhoff_tools/chemistry/standardizer.py,sha256=uMn7VwHnx02nc404eO6fRuS4rsl4dvSPf
|
|
3
3
|
dayhoff_tools/chemistry/utils.py,sha256=jt-7JgF-GeeVC421acX-bobKbLU_X94KNOW24p_P-_M,2257
|
4
4
|
dayhoff_tools/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
5
5
|
dayhoff_tools/cli/cloud_commands.py,sha256=33qcWLmq-FwEXMdL3F0OHm-5Stlh2r65CldyEZgQ1no,40904
|
6
|
-
dayhoff_tools/cli/engine_commands.py,sha256=
|
6
|
+
dayhoff_tools/cli/engine_commands.py,sha256=ul6hdl3oMLXeKqwG5p9bjZbWJisU_l9siObg1Ls_fKs,84109
|
7
7
|
dayhoff_tools/cli/main.py,sha256=rgeEHD9lJ8SBCR34BTLb7gVInHUUdmEBNXAJnq5yEU4,4795
|
8
8
|
dayhoff_tools/cli/swarm_commands.py,sha256=5EyKj8yietvT5lfoz8Zx0iQvVaNgc3SJX1z2zQR6o6M,5614
|
9
9
|
dayhoff_tools/cli/utility_commands.py,sha256=qs8vH9TBFHsOPC3X8cU3qZigM3dDn-2Ytq4o_F2WubU,27874
|
@@ -27,7 +27,7 @@ dayhoff_tools/intake/uniprot.py,sha256=BZYJQF63OtPcBBnQ7_P9gulxzJtqyorgyuDiPeOJq
|
|
27
27
|
dayhoff_tools/logs.py,sha256=DKdeP0k0kliRcilwvX0mUB2eipO5BdWUeHwh-VnsICs,838
|
28
28
|
dayhoff_tools/sqlite.py,sha256=jV55ikF8VpTfeQqqlHSbY8OgfyfHj8zgHNpZjBLos_E,18672
|
29
29
|
dayhoff_tools/warehouse.py,sha256=8YbnQ--usrEgDQGfvpV4MrMji55A0rq2hZaOgFGh6ag,15896
|
30
|
-
dayhoff_tools-1.4.
|
31
|
-
dayhoff_tools-1.4.
|
32
|
-
dayhoff_tools-1.4.
|
33
|
-
dayhoff_tools-1.4.
|
30
|
+
dayhoff_tools-1.4.10.dist-info/METADATA,sha256=Fenvb3Ijq1lKIoXpOaqu2Sb3tS82qQSgHN5iLFd1c9E,2825
|
31
|
+
dayhoff_tools-1.4.10.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
32
|
+
dayhoff_tools-1.4.10.dist-info/entry_points.txt,sha256=iAf4jteNqW3cJm6CO6czLxjW3vxYKsyGLZ8WGmxamSc,49
|
33
|
+
dayhoff_tools-1.4.10.dist-info/RECORD,,
|
File without changes
|
File without changes
|