@Override
    public void initialize(Map<String, Param> params) throws TikaConfigException {
        objectMapper = JsonMapper.builder()
                .addModule(new JavaTimeModule())
                .disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
                .build();
        reporterThread = new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    while (true) {
                        Thread.sleep(reportUpdateMillis);
                        report(AsyncStatus.ASYNC_STATUS.STARTED);
                    }
                } catch (InterruptedException e) {
                    //no op
                }

            }
        });
        reporterThread.setDaemon(true);
        reporterThread.start();
    }
This is intended to write summary statistics to disk
periodically.

 As of the 2.5.0 release, this is ALPHA version.  There may be breaking changes
 in the future.

 Because {@link AsyncStatus uses {@link java.time.Instant}, if you are deserializing
 with jackson-databind, you'll need to add jackson-datatype-jsr310. See
 the unit tests for how to deserialize AsyncStatus.
tika-pipes/tika-pipes-reporters/tika-pipes-reporter-fs-status/src/main/java/org/apache/tika/pipes/reporters/fs/FileSystemStatusReporter.java