Adding support for dlg.delayed in arlexecute
Adding support for dlg.delayed in arlexecute

The ARLExecuteBase class now exposes a new "use_dlg" flag in its
__init__ and set_client methods to specify that daliuge's delayed
function should be used. This flag obviously conflicts with "use_dask",
so we make sure both are not specified at the same time.

Daliuge's delayed function is imported at arlexecute module loading
time. If it fails then a dummy, error-throwing function is provided
instead. This way users specifying "use_dlg" but without a daliuge
installation will get an error saying that daliuge is not available for
use.

Like in the case of Dask, a daliuge client can be specified separately,
in which case it will be used to deal with daliuge's drop managers. If
none is given a default one is created.

Signed-off-by: Rodrigo Tobar <bd955c861cbec2e41c0959cf13c7f573fa307e58@icrar.org>

SKA-ScienceDataProcessor/algorithm-reference-library,SKA-ScienceDataProcessor/algorithm-reference-library,SKA-ScienceDataProcessor/algorithm-reference-library,SKA-ScienceDataProcessor/algorithm-reference-library,SKA-ScienceDataProcessor/algorithm-reference-library