Skip to content

feat: create Jobnik ingestion job and stages (MAPCO-11590) - #11

Open
lirantul123 wants to merge 2 commits into
ingestion-validationfrom
jobnik-job
Open

lirantul123 wants to merge 2 commits into
ingestion-validationfrom
jobnik-job

Conversation

@lirantul123

Copy link
Copy Markdown
Collaborator

Add JobnikClient wrapping the @map-colonies/jobnik-sdk Producer. On ingestion it creates the 3D-Ingestion job, a validation stage+task, and (only for 3tz input) a data-extraction stage+task. RecordManager.createIngestion now returns the real Jobnik job instead of a stub. Add externalServices.jobManager to config (schema, default, custom-environment-variables, helm). Unit test (SDK mocked) + wired into manager/integration tests.

Question Answer
Bug fix ✖
New feature ✔
Breaking change ✖
Deprecations ✖
Documentation ✖
Tests added ✔
Chore ✖

@github-actions

github-actions Bot commented Sep 29, 2026 •

Copy link
Copy Markdown

🎫 Related Jira Issue: MAPCO-11590

Add JobnikClient wrapping the @map-colonies/jobnik-sdk Producer.
- Ingestion: create 3D-Ingestion job + validation stage/task (+ data-extraction
  stage/task only for 3tz input).
- Delete: validate deletability (record exists, productType not QuantizedMeshDTMBest,
  productStatus UNPUBLISHED) then create a 3D-Delete job.
RecordManager ingest/delete now return real Jobnik jobs. Add externalServices.jobManager
config (schema, default, custom-environment-variables, helm). Unit + integration tests.
Add ValidationManager check that rejects an ingestion when an in-flight
Jobnik ingestion job already exists for the same productName, complementing
the catalog unique-name check (which only sees finished records).

JobnikClient.hasInFlightIngestionJob queries GET /v1/jobs by job name and
filters client-side on non-terminal status + data.metadata.productName,
paginating through all pages. Query failures raise AppError. JobnikClient
is now a singleton so RecordManager and ValidationManager share one SDK
instance instead of double-registering its metrics.

Interim until Jobnik ships native duplicate support (epic MAPCO-11833).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant