Open topic with navigation

# Ingest Result Handlers

When you ingest a document using the `Add`, `Replace`, `Remove` or `Update` methods, the ingest command is placed in a queue and the method returns immediately. ConnectorLib C++ takes care of batching, sending the commands, and dealing with any transitory problems communicating with the target.

As a result, the `Add`, `Replace`, `Remove` and `Update` methods never fail, even if there is a problem ingesting a document. To find out whether each document was ingested successfully, you can register an Ingest result handler:

           MyIngestResultHandler handler(task.log());
           task.ingester().addResultHandler(handler);

The class `MyIngestResultHandler` is a user defined function object. In this example it is constructed with a `Log`.

The result handler is called whenever a document is successfully ingested or when ingestion fails for a document. A simple result handler is shown here:

    class MyIngestResultHandler : public Ingester::ResultHandler
    {
        Log m_log;

    public:
        MyIngestResultHandler(const Log& log)
          : m_log(log)
        {}

        void operator()(const IngestTask& ingestTask)
        {
            if (ingestTask.status() == IngestTaskStatus::Done)
            {
                m_log.full("Document " + ingestTask.document().reference()
                    + ", ingest " + ingestTask.typeString() + " succeeded!");
            }
            else
            {
                m_log.full("Ingestion failed for " + ingestTask.document().reference());
            }
        }
    };

Ingest result handlers are useful when you want to update state information only when documents are ingested successfully. An example of a connector using an ingest result handler for this purpose is included in Make an Incremental Synchronize Action.

© 2018 Micro Focus or one of its affiliates | Send documentation feedback to Micro Focus Close Send documentation feedback To open the configured email client on this computer, open an email window. Otherwise, copy the information below to a web mail client, and send this email to swpdl.idoldocsfeedback@microfocus.com. We appreciate your feedback! Product: Topic Title: Help Topic: Feedback:

_FT_HTML5_bannerTitle.htm