schedule({begin, end}) {
        if (this.#fetchScheduledData && this.#fetchScheduledData.running) {
            throw new errors.ValidationError({
                message: 'Already fetching scheduled events. Wait for it to finish before scheduling a new one.'
            });
        }
        logging.info('[EmailAnalytics] Scheduling fetch from ' + begin.toISOString() + ' until ' + end.toISOString());
        this.#fetchScheduledData = {
            running: false,
            jobName: 'email-analytics-scheduled',
            schedule: {
                begin,
                end
            }
        };
    }
Schedule a new fetch for email analytics events.
@param {Object} options - The options for scheduling the fetch.
@param {Date} options.begin - The start date for the scheduled fetch.
@param {Date} options.end - The end date for the scheduled fetch.
@throws {errors.ValidationError} Throws an error if a fetch is already in progress.