Skip to content

Allowing Worker to spawn a different julia #75

@MichaelHatherly

Description

@MichaelHatherly

Currently Worker doesn't allow for setting the actual julia used, it always uses Base.julia_cmd().

Malt.jl/src/Malt.jl

Lines 103 to 105 in 37e4c4a

function Worker(; env=String[], exeflags=[])
# Spawn process
cmd = _get_worker_cmd(; env, exeflags)

Malt.jl/src/Malt.jl

Lines 254 to 256 in 37e4c4a

function _get_worker_cmd(exe=Base.julia_cmd()[1]; env, exeflags)
return addenv(`$exe --startup-file=no $exeflags $(joinpath(src_path, "worker.jl"))`, String["OPENBLAS_NUM_THREADS=1", Base.byteenv(env)...])
end

Would exposing that in the Worker constructor be something the maintainers would be happy to support? It appears to be needed to be able to support PumasAI/QuartoNotebookRunner.jl#42, which is something we'd like to add to the quarto runner.


Allowing for different julias does of course then run into the issue of serializing data between different versions not necessarily being deserializable by another julia. So that might warrant a separate issue to discuss being able to pick a different serialization method rather than using Serialization.serialize. I can open one for that if the issue of supporting julia selection for Worker is considered worth pursuing itself.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions