Tag: cron

Docker Node.js Cron

大家好我只是有我的整个应用程序dockerized除了我的cron作业这里是我的dockerFile FROM nodesource/precise # Update install os dep RUN apt-get update && apt-get install -y apt-utils cron RUN apt-get -y install pwgen python-setuptools curl git unzip vim # Add code RUN mkdir /var/sites ADD /api /var/sites/api ADD /services /var/sites/services RUN cd /var/sites/services && npm install RUN cd /var/sites/api && npm install # Add crontab file […]

如何在我的express.js网站(或任何其他特定时间)的每个星期一早上运行脚本?

我希望能够每周一早上运行一次“node sendSomeEmails.js”。 到目前为止,我发现最简单的方法就是在我的日程表中提醒一下,然后启动一个terminal并自行完成: 我正在使用Mandrill构build一个自动化的电子邮件系列。 用户将在我的网站上订阅(使用快递build立在node.js上),立即获得第一封电子邮件,然后在每个星期一早上,我想发送下一封电子邮件。 我会保持每个用户在我的数据库有多远,但我不知道触发星期一早上发送的最佳方式。 顺便说一下,我在IBM Bluemix上运行我的站点。 也许有一个简单的方法可以用AWS来做到这一点…虽然在AWS上我从来没有做过任何事情。

NodeJS定期任务

总之,我会解释我的问题: 我正在开发一个电子商务网站。 其中一个特点是客户可以创build采购规则 。 通过这些规则,客户可以设置开始date,周期和产品购买。 结果是产品将在[开始date]的每[周期]天内购买。 该系统以NodeJS作为后端,MongoDB作为数据库,AngularJS作为前端开发。 我发现了一些在NodeJS中调度任务的项目。 其中两个是: 节点时间表 节点的cron 他们两个都是很棒的工具,但是我和他们两个有同样的问题。 问题是我需要创build计划任务以及停止它们。 使用这些工具很清楚如何安排一段时间执行的function,但是我怎样才能随时阻止它们呢? node-schedule和node-cron提供的对象有一个cancel()或stop()方法来停止调度,但为了调用这个方法我需要有这个对象。 我的问题是,如果有一种方法可以将计划任务“存储”在数据库中,以便能够在任何时候,从创buildfunction以外的任何地方阻止它们。 如果这是不可能的,如果有另一种工具比我所提到的做得更好, 非常感谢您的阅读和任何帮助,将不胜感激。

如何在本地运行自定义时钟进程作业?

我试图实现自定义时钟进程模型,herokubuild议基于定制的cron调度,在这里find。 我的Procfile与链接中build议的相同: web: node index.js worker: node bot.js clock: node clock.js 我的应用程序住在index.js ,我可以成功运行与heroku local web并通过http://localhost:5000看到我的内容。 问题是,我的应用程序的某些操作会导致计划工作,这是我目前没有成功开展工作的一部分。 我从这个教程启发了这段代码。 我的clock.js文件如下所示: var CronJob = require('cron').CronJob; var bot = require('./bot.js'); function setupJob(cronTimeFormatString) { new CronJob({ cronTime: cronTimeFormatString, onTick: bot.setupJob(), start: true, timeZone: "America/Los_Angeles" }); } 目标是从我的应用程序以这样的方式调用这个: var clock = require('./clock.js'); clock.setupJob('00 00 11 * * 1-5'); // this is […]

每12小时用cron重新启动pm2应用程序

试过这个,但它不起作用: SHELL=/bin/bash PATH=/usr/lib/node_modules/pm2/bin * 0,12 * * * pm2 restart all 我究竟做错了什么?

通过Docker上Supervisor的Cron任务查看NodeJS应用程序日志

所以设置是… Docker> Supervisor> Cron> NodeJS任务。 目前我正在让我的主pipe将当前pipe理员设置的日志和错误日志输出到docker。 [program:cron] command=cron -f startsecs=10 priority=100 autostart=true autorestart=true stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 这显示了正在运行的cron任务,即 app_1 | 'Supervisord is running as root and it is searching ' app_1 | 2016-08-26 12:54:30,519 CRIT Supervisor running as root (no user in config file) app_1 | 2016-08-26 12:54:30,519 WARN Included extra file "/etc/supervisor/conf.d/supervisord.conf" during parsing […]

Node.JScallbackpost请求closures

嗨有什么办法来closuresnode.Js中的发布请求,这是我怎么做,它每10秒发生一次。 我不需要的回应,只需要拨打url只。 如果我们在linux中使用curl,有一种方法可以closures$curl->close() function callUrl(url, data){ var request = require('request'); request.post( url, {form: {data: data}}, function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body) } } ); } 部署node.JS我永远使用https://www.npmjs.com/package/forever我遇到的问题是,因为我是一个新手我不知道为什么会发生这种情况,但服务器总是在90 %或以上,这种行为是永久运行节点app.js后。 forever start app.js 有没有人有类似的问题? 或者如果你没有永久使用,你是如何部署的? 通过键入w来检查服务器负载平均值 这就是我所说的function。 var cTask = setInterval(function() { var utcDate = moment.utc(); console.log('cron timer start: ' + […]

将运行Node.js脚本作为CRON作业,而不closures数据库连接最终会杀死所有的RAM?

我正在构build将作为CRON作业运行的Node.js脚本。 (完整的terminal脚本)。 这些脚本使用API​​从各地获取数据,并使用MongoDB(本机驱动程序)。 我没有使用db.close()语句,因为这个脚本永远不会自行结束(或者至less从terminal看起来像这样),要完成它,有必要按CTRL + C取消。 那时候,当我写这些脚本的时候,Stack overflow的人告诉我,无论如何都不需要closures连接。 所以我让它成为。 现在我想知道,这些脚本实际上还在运行吗? 因为这些将作为CRON作业以小间隔运行,这是否意味着这些脚本最终会从服务器中杀死RAM? 这是否意味着,将有数千个脚本运行并等待db.close()语句? 示例代码: MongoClient.connect(mongoUrl, (err, db) => { if (err) { console.log(err); return; } var usersCollection = db.collection('users').find(); usersCollection.on('data', (doc) => { console.log(doc); });

Nodejs和批处理作业

我有一个服务器端nodejs快速应用程序,响应来自前端客户端的请求。 我需要实现一个每小时运行一次的批处理作业。 如果我在同一个服务中执行批处理作业,是否意味着该服务被“占用”,直到cron作业完成,并且将无法处理任何请求? 我应该创build一个单独的服务,而不是运行批处理作业?

我可以在Node中同时安排多less个Job

在我正在使用的这个Node应用程序中,用户可以预约约会。 当预约被预约时,用户将在实际约会前X小时通过邮件得到提醒。 我正在考虑使用Node-schedule来完成这个任务。 对于每个约会:设置未来date,发送提醒邮件一次,删除这个特定的计划工作 但是…应用程序增长时可能会有很多预约,这意味着会有很多节点时间表进程同时睡眠和等待着火… 在正常的一天,假设我们有180个约会为每个客户的未来预订,并假装现在有50个客户的应用程序。 这给了我们大约9000个计划任务睡觉和等待着火。 问:这完全好吗? …还是所有这些同时计划的任务是多less?