Articles of cron

Loopback3定期调用远程方法或API

基本上,我的要求是不断寻找文件夹中的新文件,读取文件的内容,并调用回送API。 为了实现这一点,我正在尝试做下面的事情: 我有一个回环的远程方法,需要定期调用,即每隔2分钟。 我在官方的环回文档中阅读了有关asynchronous启动脚本: https : //loopback.io/doc/en/lb2/Defining-boot-scripts#synchronous-and-asynchronous-boot-scripts到目前为止,我已经能够写下面的代码: module.exports = function(app, callback) { setInterval(function() { console.log('Hello world'); callback(); }, 120000); }; 但是这会在下面引发一个错误。 error: uncaughtException: listen EADDRINUSE :::443 另外,有没有办法从启动脚本调用远程方法? loopback是否支持cron / schedular或轮询function。 我是否需要编写一个单独的nodejs应用程序来定期调用API。 谢谢

如何使用nodemailer为NodeJS应用程序在后台发送电子邮件?

我正在构build一个Angular 4和Node应用程序。 一旦任何用户在前端注册,我将其数据存储在数据库中,然后想要使用nodemailer包向他们发送成功的注册电子邮件。 这是Node js代码: router.post('/', function(req, res, next) { SOME_DATABASE_FUNC() { if(FAILED_CASE) { return res.status(500).json({ title: 'An error occurred', status: 500, error: error }); var mailOptions {…} transporter.sendMail(mailOptions, function (error, info) { if (error) { console.log(error); return res.status(500).json({ title: 'An error occurred', status: 500, error: error }); } console.log('Message', info.messageId, info.response); return res.status(200).json({ message: […]

MEAN应用程序在应用程序加载时使用API​​调用来设置与cron节点的cron作业

我正在寻找一种方法来检查我们的用户订阅每天的cron工作。 我想为此使用node-cron。 我不知道我应该把代码启动cronjob。 目前我有这样的设置: app.js: app.listen(config.port, function() { // Logging initialization console.log('–'); console.log(chalk.green(config.app.title)); console.log(chalk.green('Environment:\t\t\t' + process.env.NODE_ENV)); console.log(chalk.green('Port:\t\t\t\t' + config.port)); console.log(chalk.green('Database:\t\t\t\t' + config.db.uri)); if (process.env.NODE_ENV === 'secure') { console.log(chalk.green('HTTPs:\t\t\t\ton')); } console.log('–'); if (callback) callback(app, db, config); var job1 = new cron.CronJob({ cronTime: '* * * * *', onTick: function(){ app.get('/api/users/checkSubscriptions/').success(function() { console.log( 'working!') }).error(function() { console.log( […]

Google云端平台:运行几个小时的抓取脚本

我有一个NodeJS脚本,每天都会删除url。 这些请求被限制为对服务器友善。 这导致我的脚本运行了相当长的时间(几个小时)。 我一直在寻找一种在GCP上部署的方法。 而且因为之前在cron中完成了,所以我自然会看到如何在Google Cloud上运行cronjob。 但是,根据文档 ,该脚本必须作为API公开,并且对该API的http调用最多只能运行60分钟,这不符合我的需要。 我看了这个问题 ,build议使用云端function。 不过,我不确定这种方法适合我的情况,因为我的脚本需要比在那里描述的简单的服务器监视作业更多的处理。 有没有人在GCP上做这件事? 注意:为了澄清,我想避免将其部署在VPS上。 编辑:我伸手到谷歌,这是他们的回复: 感谢您的耐心等待。 目前,由于当前App Engine的cron限制为每个HTTP请求60分钟 ,因此无法连续运行6到7个小时的cron脚本。 如果您的使用案例可能,则可以将7个小时分配给重复执行的任务,例如每10分钟或1小时。 cron作业请求受到与推送任务队列相同的限制。 免费应用程序最多可以有20个计划任务。 您可以参考cron计划格式的文档 。 另外,可以继续使用Postgres和Redis。 不过,请注意Postgres仍处于testing阶段。 由于我不能传播任务,我不得不继续为此pipe理一个dokku VPS。

cron与node-cron的作业不会在console.log中进行testing

我试图在我的node.js应用程序(一个只是为了这个工作)运行testingcron工作,但它不是console.log()应该是。 它应该每10秒console.log()但它不会。 这是我的目录/ app中除package.json文件和node_modules目录以外的唯一文件。 代码在这里: var express = require("express"), app = express(), bodyParser = require("body-parser"), mongoose = require("mongoose"), cron = require("node-cron"); mongoose.connect("mongodb://localhost/asset-management-v1"); // mongoose.connect("mongodb://localhost/yelp_camp_v10"); app.use(bodyParser.urlencoded({extended: true})); app.set("view engine", "ejs"); app.use(express.static(__dirname + "/public")); app.use(function(req, res, next){ res.locals.currentUser = req.user; next(); }); var task = cron.schedule('10 * * * *', function() { console.log('immediately started'); }, false); task.start(); […]

节点工作进程/ cron作业build议

我有一个需要更新的项目数据库,或者说是经常执行的项目。 我正在使用一个消息队列(Kue)来处理这些作业的并发性,但是我的将作业添加到队列的过程如下所示: setInterval(function () { feed.find({}, function (error, foundModels) { jobs.create('update feeds', { feeds: foundModels }).save() }) }, 6000) 投票是这样的最好的方式将工作添加到队列中,你觉得呢? 或者每个feed应该在自己的计时器上(例如,每个饲料在完成后都会产生另一个作业6)?

Node.js setInterval生命周期

一个setInterval在node.js中可以持续多久? 我需要使用它作为一个cron工作。 我不在乎服务器是否重新启动并重置间隔,重要的是不要停止。

从cron作业调用时,nodejs setTimeout不起作用

我正在编写一个nodejs程序,它需要每15秒将本地传感器信息上传到中央数据库。 因为最小克隆的时间间隔是1分钟,所以我这样调用上传程序4次 function uploadToDatabase() { /* blah blah blah */ } setTimeout(uploadToDatabase, 1*1000); setTimeout(uploadToDatabase, 15*1000); setTimeout(uploadToDatabase, 30*1000); setTimeout(uploadToDatabase, 45*1000); 这个函数被调用的时候像我这样的命令运行 node uploader.js 但是当这从cron作业调用这个函数uploadToDatabase从来没有调用? 任何想法为什么?

Hubot CronJobfunction

不能想出如何实现这一点。 我试图让Hubot定期在特定的时聊频道中调用一个函数。 目前,我可以通过让用户键入聊天“Hubot totalviewers”来完成此操作,而hubot将返回当前查看者的数量。 关键是让hubot自己做,而不必让用户键入命令(每分钟都会发生)。 任何文件,例子或帮助将不胜感激。

在单个进程中排队JavaScript代码

比方说,我在一个对象中有一堆的任务,每个都有一个date对象。 我想知道是否有可能使对象内的任务在单个进程中运行,并在调用date时触发。 这是一个例子: var tasks = [ "when": "1501121620", "what": function(){ console.log("hello world"); }, "when": "1501121625", "what": function(){ console.log("hello world x2"); }, ] 将这些数据存储在数据库中,以及从string中eval what脚本,我都没有问题。 我需要一个正确的方向。 我从来没有在节点世界看到过这样的事情。 我正在考虑使用hotload和使用文件系统,所以我不需要处理数据库。 我应该看看setInterval还是有更复杂的东西呢? 我知道像cron这样的东西存在,事情是我需要所有这些任务发生在已经存在的正在运行的进程中。 我需要能够添加一个新的任务队列没有结束的过程。 为了添加一个小环境,我需要一些排队socket.io.emit .emit()函数的方法。