aiidateam / aiida-workgraph

Efficiently design and manage flexible workflows with AiiDA, featuring an interactive GUI, checkpoints, provenance tracking, and remote execution capabilities.
https://aiida-workgraph.readthedocs.io/en/latest/
MIT License
10 stars 5 forks source link

Nested WorkGraph: Error in loading executor: a bytes-like object is required, not 'NoneType #285

Closed agoscinski closed 2 months ago

agoscinski commented 3 months ago

Code

from aiida_workgraph import task, WorkGraph
from aiida.orm import Int

# define add task
@task.calcfunction()
def add(x, y):
    return x + y

# define multiply task
@task.calcfunction()
def multiply(x, y):
    return x * y

def add_multiply(x, y, z):
    wg = WorkGraph()
    wg.add_task(add, name="add", x=x, y=y)
    wg.add_task(multiply, name="multiply", x=z)
    wg.add_link(wg.tasks["add"].outputs[0], wg.tasks["multiply"].inputs["y"])
    return wg

wg = WorkGraph("nested_workgraph")
task1 = wg.add_task(add_multiply(x=Int(2), y=Int(3), z=Int(4)))
display(wg.to_html())
wg.run()

This code runs, but returns

Report: [294|WorkGraphEngine|continue_workgraph]: Continue workgraph.                   
Report: [294|WorkGraphEngine|continue_workgraph]: tasks ready to run: WorkGraph1        
------------------------------------------------------------                            
Report: [294|WorkGraphEngine|run_tasks]: Run task: WorkGraph1, type: workgraph          
Error in loading executor:  a bytes-like object is required, not 'NoneType'             
Report: [294|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 295 
Report: [295|WorkGraphEngine|continue_workgraph]: Continue workgraph.                   
Report: [295|WorkGraphEngine|continue_workgraph]: tasks ready to run: add               
... (then everything works fine)

What is the cause for?

Error in loading executor:  a bytes-like object is required, not 'NoneType'