Hooks allow to trigger functions calls on specific events.
They can be specified via the ClusterFunctions and are triggered on the following events:
pre.syncfunction(reg, fns, ...): Run before synchronizing the registry on the master. fn is the character vector of paths to the update files.
post.syncfunction(reg, updates, ...): Run after synchronizing the registry on the master. updates is the data.table of processed updates.
pre.submit.jobfunction(reg, ...): Run before a job is successfully submitted to the scheduler on the master.
post.submit.jobfunction(reg, ...): Run after a job is successfully submitted to the scheduler on the master.
pre.submitfunction(reg, ...): Run before any job is submitted to the scheduler.
post.submitfunction(reg, ...): Run after a jobs are submitted to the schedule.
pre.do.collectionfunction(reg, reader, ...): Run before starting the job collection on the slave.
reader is an internal cache object.
post.do.collectionfunction(reg, updates, reader, ...): Run after all jobs in the chunk are terminated on the slave.
updates is a data.table of updates which will be merged with the Registry by the master.
reader is an internal cache object.
pre.killfunction(reg, ids, ...): Run before any job is killed.
post.killfunction(reg, ids, ...): Run after jobs are killed. ids is the return value of killJobs.
runHook(obj, hook, ...)[Registry | JobCollection] Registry which contains the ClusterFunctions with element “hooks” or a JobCollection which holds the subset of functions which are executed remotely.
[character(1)]
ID of the hook as string.
[ANY]
Additional arguments passed to the function referenced by hook.
See description.
Return value of the called function, or NULL if there is no hook
with the specified ID.