在调用 API 后 x 小时后 运行 代码的好方法是什么?

what is good way to run a code after x hours after an API is called?

我正在使用 typescript 构建一个 nest web 应用程序。

我想在调用 API 后 x 小时执行一些函数,但不确定如何实现。

因为我只想运行一个函数一次, 我想我可以使用 setTimeout,但这是个好主意吗? 本来想用cron的,但是据我了解,cron就是设置一个时间表,会一直重复(说错了请指正)

如有任何建议,我们将不胜感激!

您可以使用 Cron 作业。 https://docs.nestjs.com/techniques/task-scheduling#declarative-timeouts

如果您阅读文档,它说您可以创建一个在 X 毫秒后执行的 cronJob。

    @Timeout(5000)
handleTimeout() {
  this.logger.debug('Called once after 5 seconds');
}

因此,您必须在调用 API 时调用此函数,然后它会在 X 小时后执行。