Skip to content

SYNHRONIZE does notreuse engine internals #56

Open
@poinot

Description

@poinot

The SYNCHRONIZE pattern runs concurrent callbacks using threads.
However, the call does not fire the before_each_callback and after_each_callback wrappers.

Proposed changed in workflow/pattern/controlflow.py (_synchronize)

        for func in args[0:-1]:
            if isinstance(func, list) or isinstance(func, tuple):
                new_eng = eng.duplicate()
                new_eng.setWorkflow(func)
                queue.put(lambda: new_eng.process([obj]))
            else:
                def t_func(obj,eng):
                    ecb=eng.processing_factory.action_mapper
                    ecb.before_each_callback(eng,func,obj)
                    eng.execute_callback(func,obj)
                    ecb.after_each_callback(eng,func,obj)
                queue.put(lambda t_func=t_func : t_func(obj, eng))

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions