std.ProcessSlideCPMessages

This job drains the SLIDE queue in oscpmqueue in a single call. A SLIDE message indicates that a slide representation (per-page preview / display images) for a DMS object needs to be produced or rebuilt. The job iterates over every SLIDE message currently available, produces the slides through the rendition/converter pipeline and removes the message from the queue after successful processing.

Unlike the pull-based single pickup via std.GetNextCPMessage, this is a batch processor: one call processes as many messages as are currently available in the SLIDE queue and only returns afterwards.

The job is primarily designed as a server-internal scheduler job and is invoked automatically at regular intervals. An explicit external API call is possible but not required in normal operation.

Selection, locking and coalescing behaviour are described under Capture and Processing Messages (CP).

This job is not listed in the official enaio® standard engine overview (std).

1. Input Parameters

The job takes no content input parameters. It drains the SLIDE queue completely and without filtering.

2. Output Parameters

The job returns three positional integer counters describing the batch run statistics:

Position Meaning

1

Number of SLIDE messages found in oscpmqueue.

2

Number of messages processed successfully.

3

Number of messages whose processing failed.

3. Return Value

(INT): 0 = batch run completed successfully, otherwise error code. Errors processing individual messages are not reported through the return value but through the third counter — return_code != 0 indicates a hard failure of the batch run itself (e.g. database connection lost).

4. Notes

  • Reentrant — the job may run concurrently on multiple server threads. Locking happens per message via oscpmqueue.lock_service (see Selection and locking behaviour); two parallel runs automatically pick disjoint message sets.

  • Fast path on empty queue — if no SLIDE messages are available, the job returns immediately with all counters at 0.

  • Messages that fail to process — if processing of a message fails, the message stays in the queue with lock_service set and can be released for another run via std.ResetServiceCPMessages.

  • Follow-up notification — after successful slide creation, per object std.CPRenditionChanged with Reason=SLIDE may be raised to inform downstream components about the new representation.

  • std.GetNextCPMessage — pull-based single pickup for other queues (FULLTEXTIDX, RENDITION, …​); the SLIDE queue is intentionally not consumed this way but processed in batch on the server side

  • std.CreateCPMessages — entry point for creating CP messages (FULLTEXTIDX, FULLTEXTFILTER, RENDITION); SLIDE messages are inserted through other server-internal paths

  • std.CPRenditionChanged — typical follow-up notification after successful slide creation

  • std.DispatchCPMessage — generic cleanup path for a processed CP message; not used by the batch processor since the SLIDE message is removed within the job itself

  • std.ResetServiceCPMessages — releases reservations left behind by aborted workers