Skip to navigation

Job Tracking---ERD

Table: [extractor].[Job]

Column NameData TypeDescription
JobIDUNIQUEIDENTIFIERPrimary key
FileIdUNIQUEIDENTIFIERForeign key to [fileintake].[File].FileID
ClientApplicationExtractorIDUNIQUEIDENTIFIERForeign key to [registration].[ClientApplicationExtractor]
StatusVARCHAR(50)Current job status (e.g. Queued, Started, Succeeded, Failed)
StatusMessageVARCHAR(MAX)Optional info or error message
ExtractorResponseNVARCHAR(MAX)Optional raw response data
PollAttemptCountINTNumber of polling attempts
LastPollAttemptAtDATETIMEOFFSETTimestamp of last poll
IsActiveBITSoft delete flag
CreatedAtDATETIMEOFFSETJob creation timestamp
UpdatedAtDATETIMEOFFSETLast updated timestamp
CompletedAtDATETIMEOFFSETJob completion timestamp

Table: [extractor].[JobStatus]

Column NameData TypeDescription
JobStatusIDUNIQUEIDENTIFIERPrimary key
JobIDUNIQUEIDENTIFIERForeign key to [extractor].Job
StatusVARCHAR(50)Status observed at time of polling or system update
MessageVARCHAR(MAX)Optional detail (error, log, etc.)
AttemptNumberINTPoll attempt number (if applicable)
TimestampDATETIMEOFFSETWhen this status event occurred

Relationships

From TableFrom ColumnTo TableTo Column
[extractor].[Job]FileId[file].[File]FileID
[extractor].[Job]ClientApplicationExtractorID[registration].[ClientApplicationExtractor]ClientApplicationExtractorID
[extractor].[JobStatus]JobID[extractor].[Job]JobID

Blob Storage Convention (for Extractor Results)

  • Storage Location: Azure Blob Container
  • Folder Path Pattern:
/results/{ClientApplicationId}/{FileId}/{JobId}/result.json
  • result.json contains raw output from the external extractor