Skip to content

Add Job.localExec() that runs the bifrost2 job setup - #52

Draft
dan-distributive wants to merge 1 commit into
mainfrom
feature/localexec-method
Draft

dan-distributive wants to merge 1 commit into
mainfrom
feature/localexec-method

Conversation

@dan-distributive

Copy link
Copy Markdown

job.localExec() fell through to the JS localExec(), skipping _before_exec(), so the Pyodide work function was never wrapped and every slice would fail (found in #49). It now mirrors exec(): job.localExec(cores=1, *args) then job.wait(), plus job.aio.localExec. A rejected localExec() promise raises instead of leaving the caller waiting.

End-to-end localExec() under PythonMonkey also needs:

  1. PythonMonkey #518 (structuredClone() global) in a release
  2. dcp-client !308 (Node's evaluator as the sandbox)
  3. dcp !3327 (lifts the platform check)

Tested: the 35 existing tests pass; with today's dcp-client, localExec() runs _before_exec() (work function wrapped) and raises dcp-client's "localExec is not supported on this platform" within a second.

🤖 Generated with Claude Code

localExec() fell through to the JS method, skipping _before_exec(), so the
pyodide work function was never wrapped. It now mirrors exec(), and a
rejected localExec() promise raises instead of leaving the caller waiting.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant