Package com.kingsrook.qqq.backend.core.jobs
package com.kingsrook.qqq.backend.core.jobs
-
ClassDescription"Automatically" (spec section 2.4): when an eligible streamed ETL process reaches its execute step with more rows than durableThresholdRows (default 1,000), or is alwaysDurable, the execute step is not run inline: the process is launched as a durable job with the values collected so far, and the step returns at once with the value
durableJobIdand a summary line that says the work is running in the background.The durable jobs facade: launch any eligible process as a job, control it, and read its status.Instance-level settings for durable jobs (QInstance supplemental meta data named "durableJobs").Defines the durable-jobs tables (jobs_job, jobs_chunk, jobs_row_error, jobs_event, jobs_worker), their possible-value sources, joins, the record lock, and the job control processes.Puts the durable-jobs security keys into a session: jobs_user = the user's id, plus jobs_user_all_access for sessions holding the jobs_admin permission.Names shared by the durable-jobs kernel: tables, security keys, permissions and defaults.Per-process durable-job settings (supplemental process meta data "durable").Table settings for deduplicating file rows loaded by a durable job.The failed rows of a job (spec section 2.7): - retry them as a child job (ROW_SET) over just those rows, with the same inputs or a corrected bulk-load profile; the row errors get retryJobId; - download them as CSV (the original columns plus an error column) to fix in a spreadsheet and load again.Identity for durable jobs (spec section 2.10, R5).Scheduled processes as durable jobs (spec section 2.4, "Scheduled").Runs kernel bookkeeping (the jobs tables themselves) as the system user, so the owner lock does not hide rows from the kernel.A body that returns a value and may throw.