package Ġk job . core . dsl Ċ Ċ import Ġk job . core . Base Job Ċ Ċ @ Job Dsl Marker Ċ class ĠK Job Functions < J Ġ: ĠBase Job , ĠJ C : ĠJob Context < J >> Ġinternal Ġconstructor ( internal Ġval Ġexecute Fn : Ġsuspend ĠJ C . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġinternal Ġvar Ġerror Fn : Ġsuspend ĠError Job Context . () Ġ-> ĠUnit Ġ= Ġ{ Ġ} ĊĠĠĠ Ġinternal Ġvar Ġcomplete Fn : Ġsuspend ĠCompletion Job Context . () Ġ-> ĠUnit Ġ= Ġ{ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDefines Ġthe Ġcode Ġthat Ġwill Ġbe Ġexecuted Ġif Ġthe Ġexecution Ġof Ġthe Ġjob Ġfailed Ġwith Ġan Ġexception ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠonError ( block : Ġsuspend ĠError Job Context . () Ġ-> ĠUnit ): ĠK Job Functions < J , ĠJ C > Ġ{ ĊĠĠĠĠĠĠĠ Ġerror Fn Ġ= Ġblock ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDefines Ġthe Ġcode Ġthat Ġwill Ġbe Ġexecuted Ġif Ġthe Ġexecution Ġis Ġsuccessful ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠonComplete ( block : Ġsuspend ĠCompletion Job Context . () Ġ-> ĠUnit ): ĠK Job Functions < J , ĠJ C > Ġ{ ĊĠĠĠĠĠĠĠ Ġcomplete Fn Ġ= Ġblock ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} Ċ }