Merge PR #621: fix: limit concurrent Modal sandbox creations to avoid deadlocks
Authored by voteblake. - Semaphore limits concurrent Modal sandbox creations to 8 (configurable) to prevent thread pool deadlocks when 86+ tasks fire simultaneously - Modal cleanup guard for failed init (prevents AttributeError) - CWD override to /app for TB2 containers - Add /home/ to host path validation for container backends
This commit is contained in:
commit
ff09cad879
4 changed files with 32 additions and 3 deletions
|
|
@ -137,6 +137,10 @@ class ModalEnvironment(BaseEnvironment):
|
|||
|
||||
def cleanup(self):
|
||||
"""Snapshot the filesystem (if persistent) then stop the sandbox."""
|
||||
# Check if _inner was ever set (init may have failed)
|
||||
if not hasattr(self, '_inner') or self._inner is None:
|
||||
return
|
||||
|
||||
if self._persistent:
|
||||
try:
|
||||
sandbox = getattr(self._inner, 'deployment', None)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue