- Name: updatePusher
- jobToPushTo: The job to push the crawled records to. A job with this worker will cannot be started, if the jobToPushTo is not running.
- deltaStateUsage: Configure usage of the DeltaService by this worker. There are four possible values, two of them have the same effect on this worker (see DeltaDelete for an overview):
- none: do not record delta information, do not perform delta-delete in the completion phase of the job.
- setOnly or setAndCheck: record delta information, but do not perform delta-delete in the completion phase of the job.
- full: record delta information and perform delta-delete in the completion phase of the job.
- Input Slots:
- recordToPush: a bucket of type recordBulks containing the records produced by the crawl workflow.
- Output Slots:
- pushedRecords: (optional) the records that could be successfully submitted to the destination job. Usually not set, but may be used to trigger further actions on submitted records.
The UpdatePusher takes each record from the input, sends it to a bulkbuilder service. If an output bucket is connected the record is written to it. If the record contains a _deltaHash attribute value, the worker checks with DeltaService if the record has not been pushed yet to prevent duplicates, and marks it updated afterwards. If the _deltaHash attribute is empty, the record is pushed always and not marked as updated in DeltaService.
Exception handling of bulkbuilder errors:
- If an InvalidRecordException is thrown by Bulkbuilder it is logged and the record is skipped (and is also not added to the output bulk, if set).
- Other BulkbuilderExceptions are not catched. If they are marked as recoverable they should lead to an retry of the task, else the task will fail fatal.