package jobqueue import ( "context" "time" ) type GenericJob interface { GetID() JobID GetDependencies() []JobID GetPriority() Priority Execute(ctx context.Context) (RunGenericResult, error) Cancel() error GetMaxRetries() uint GetRetryDelay() time.Duration GetTimeout() time.Duration GetPersistence() JobPersistence SetScheduler(scheduler Scheduler) GetScheduler() Scheduler }