node.js - 是否可以每 *4 分钟* 在 Heroku 中运行一个 Node.js 应用程序?

标签 node.js heroku cron

我有一个应用程序,我想在周一至周五上午 10 点至晚上 10 点之间每 4 分钟在 Heroku(免费版本)中运行一次。我曾经使用 Digital Ocean 中的 cron 作业来执行此操作,但我正在尝试迁移到 Heroku,因为它是免费的。但这可能吗?从我所看到的一切看来,你只能在 Heroku 上每 10 分钟运行一次东西。

这是一个简单的应用程序,每 4 分钟发送一次电子邮件更新。 谢谢。

最佳答案

Heroku 没有为您提供每 4 分钟运行一次的方法。正如您所提到的,调度程序插件将为您提供的最低时间是 10 分钟。

您可以设置一个始终运行的进程,并每 4 分钟排队/处理您的任务。

正如 Garson 的评论中提到的,node-cron 可以很轻松地为您处理这个问题。
例如下面的代码:

var CronJob = require('cron').CronJob;
new CronJob('* */4 * * * *', function() {
  console.log('You will see this message every 4 minute');
}, null, true, 'America/Los_Angeles');

每 4 分钟显示一次控制台消息。 您可以使用 node index.js 运行它。

因此,如果您将以下行放入 Procfile 中使用名称 cron 并部署您的应用程序,您可以执行以下操作:

heroku ps:scale cron=1

并且该过程将无限期地执行,每 4 分钟执行一次代码。

关于node.js - 是否可以每 *4 分钟* 在 Heroku 中运行一个 Node.js 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44750275/

相关文章:

javascript - 获取 Base64 编码图像并使用 ExpressJS 将其作为图像发送

node.js - 在我的 React 应用程序中访问 heroku config var

cron - 删除由 cronjob 创建的所有 k8s pod

spring-boot - 将 spring boot 微服务部署到 heroku

linux - 更改crontab后如何正常启动Raspberry?

docker - Alpine : "service ` crond' 不存在”

node.js - 如何统计Nodejs中的URL访问量,express?

javascript - 平均堆栈 : How to update a function's result to the database?

javascript - 在node.js中使用加密的aes-128-cbc加密/解密没有给出与java代码相同的结果

ruby-on-rails - WebSocket 握手期间出错 : Unexpected response code: 503