Cron 作业无故停止 运行

Cron Job stops running for no reason

下面的 cron 作业设置为 运行 每分钟更新一次计时器,根据日志,当有人加入服务器时,它就会停止。它不会抛出任何错误代码。机器人不会崩溃。我希望有人能告诉我为什么这样做。

这是 cron 作业:

cron.schedule('* * * * *', function () {
    bot.channels.cache.filter((channel) => channel.name.endsWith('events')).forEach((channel) => {
        channel.messages.fetch({
            limit: 100
        }).then(messages => {
            messages.forEach(message => {
                if (message.embeds.length > 0) {
                    const embed = message.embeds[0]

                    let messageID;
                    let event_date;
                    let event_time;

                    if (embed.color === 65280) {
                        messageID = message.id
                        event_date = message.embeds[0].fields[0].value
                        event_time = message.embeds[0].fields[1].value.slice(0, -4)

                        let now = Date.now()
                        const targetDate = new Date(`${event_date} ${event_time}:00`)
                        var difference = (targetDate - now) / 1000;
                        var days = Math.floor(difference / (3600 * 24));
                        var hours = Math.floor((difference - (days * (3600 * 24))) / 3600);
                        var minutes = Math.floor((difference - (days * (3600 * 24)) - (hours * 3600)) / 60);

                        let timeTill;

                        if (days > 0) {
                            timeTill = `${days} Days ${hours} Hours ${minutes} Min`
                        } else if (days === 0 && hours > 0) {
                            timeTill = `${hours} Hours ${minutes} Min`
                        } else if (days === 0 && hours === 0) {
                            timeTill = `${minutes} Min`
                        } else if (difference <= 0) {
                            timeTill = `Event Started - get with <@!${row.hostID}> to join up in-game.`
                        }

                        embed.fields[9] = {
                            name: 'Starts in:',
                            value: `${timeTill}`,
                            inline: false
                        }
                        message.edit(new Discord.MessageEmbed(embed)).catch(error => {
                            console.error(error);
                        })
                        console.log(`Event ${message.embeds[0].author.name} has been edited. New start time is ${timeTill}.`)
                    } else {
                        return
                    }
                } else {
                    return
                }
            })
        })
    })
})

这是有人加入时它停止的日志

[July 17 2021 01:38:01] Event 6 has been edited. New start time is 16 Hours 21 Min.
[July 17 2021 01:39:00] Event 6 has been edited. New start time is 16 Hours 20 Min.
[July 17 2021 01:40:00] Event 6 has been edited. New start time is 16 Hours 19 Min.
[July 17 2021 01:41:00] Event 6 has been edited. New start time is 16 Hours 18 Min.
[July 17 2021 01:41:14] The code tj25ttthFA was just used by Thx Meat Cat.
[July 17 2021 01:41:14] User Thx Meat Cat has joined the server! There are now 49 members in the community.
[July 17 2021 01:46:07] User Thx Meat Cat has left the server or was kicked!
[July 17 2021 01:46:07] There are now 48 members in the community.
[July 17 2021 01:49:22] The code tj25ttthFA was just used by SlayerZXY96.

这里又是

[July 17 2021 00:03:01] Event 6 has been edited. New start time is 17 Hours 56 Min.
[July 17 2021 00:04:01] Event 6 has been edited. New start time is 17 Hours 55 Min.
[July 17 2021 00:05:00] Event 6 has been edited. New start time is 17 Hours 54 Min.
[July 17 2021 00:06:00] Event 6 has been edited. New start time is 17 Hours 53 Min.
[July 17 2021 00:06:50] The code tj25ttthFA was just used by 『Tã€ã€Žiã€ã€Žnã€ã€Žyã€.
[July 17 2021 00:06:50] User 『Tã€ã€Žiã€ã€Žnã€ã€Žy〠has joined the server! There are now 48 members in the community.
[July 17 2021 00:07:53] User 『Tã€ã€Žiã€ã€Žnã€ã€Žy〠has left the server or was kicked!
[July 17 2021 00:07:53] There are now 47 members in the community.
[July 17 2021 00:14:03] The code tj25ttthFA was just used by ChAoS.

编辑

按照下面的建议似乎有效,将测试 24 小时。

[July 19 2021 00:57:41] Event 8 has been edited. New start time is 65 Days 17 Ho                       urs 2 Min.
[July 19 2021 00:57:47] The code tj25ttthFA was just used by ChAoS.
[July 19 2021 00:57:47] User ChAoS has joined the server! There are now 73 membe                       rs in the community.
[July 19 2021 00:58:41] Event 8 has been edited. New start time is 65 Days 17 Ho                       urs 1 Min.
[July 19 2021 00:58:55] User ChAoS has left the server or was kicked!
[July 19 2021 00:58:55] There are now 72 members in the community.
[July 19 2021 00:59:41] Event 8 has been edited. New start time is 65 Days 17 Ho                       urs 0 Min.
[July 19 2021 00:59:46] The code tj25ttthFA was just used by ChAoS.
[July 19 2021 00:59:46] User ChAoS has joined the server! There are now 73 membe                       rs in the community.
[July 19 2021 01:00:41] Event 8 has been edited. New start time is 65 Days 16 Hours 59 Min.

不知道为什么,但上面的评论解决了这个问题。

“您可以尝试将 cron.schedule() 替换为 setInterval()。这样您就知道这是否是 cron 的问题。– Skulaurun Mrusal”