Message receiving: ``` async queue(batch: MessageBatch<ActionMessage>, env: Env): Promise<void>

Message receiving:

    async queue(batch: MessageBatch<ActionMessage>, env: Env): Promise<void> {
        const now = DateTime.now();
        for (let message: Message<ActionMessage> of batch.messages) {
            const sendAfter = DateTime.fromISO(message.body.after);
            if (sendAfter > now) {
                const delaySeconds = Math.round(Math.min(
                    Duration.fromObject({ hours: 12}).as('seconds'),
                    sendAfter.diff(now).as('seconds')));
                message.retry({
                    delaySeconds: delaySeconds
                });
                console.info(`message ${message.id} DELAYED: ${JSON.stringify(message.body)} by ${delaySeconds}`);
            } else ...
Was this page helpful?