草庐IT

node.js - 编辑使用 node-cron 创建的任务

尝试使用node-cron'https://github.com/merencia/node-cron根据计划运行任务'.任务的创建和启动:varcron=require('node-cron'),task=cron.schedule('******',function(){console.log('taskrunning...',JSON.stringify(task));},false);task.start();停止任务:task.stop();销毁任务:task.destroy();当任务在创建它们的范围内执行时,代码工作正常。但是根据要求,我以后如何从不同的功能访问“任务”。

node.js - 在不关闭数据库连接的情况下将 Node.js 脚本作为 CRON 作业运行最终会杀死所有 RAM 吗?

我正在构建将作为CRON作业运行的Node.js脚本。(完整的终端脚本)。这些脚本使用API和MongoDB(native驱动程序)从周围获取数据。我没有使用db.close()语句,因为该脚本永远不会自行结束(或者至少从终端看起来是这样),要完成它,它必须按CTRL+C取消。当时我在写这些脚本的时候,Stackoverflow的某个人告诉我无论如何都不需要关闭连接。所以我顺其自然。现在我想知道,这些脚本实际上还在运行吗?由于这些将作为CRON作业以较小的间隔运行,这是否意味着这些脚本最终会从服务器中删除RAM?这是否意味着将有数千个脚本在运行并等待db.close()语句?示例代码:

mongodb - 在 mongodb 中索引正在进行的事件还是我们需要一个 cron?

对不起,如果这个问题很愚蠢。我不熟悉数据库的整个索引,想知道我是否发出了以下命令>db.posts.ensureIndex({location:"2d"})数据库是否会一直被索引,即使有新的条目被发布?还是我需要在每次输入新条目后输入此命令?对于包含2000多个条目的数据库,索引是否也有很大的不同? 最佳答案 一旦索引就位,它将始终用于任何后续的读取和写入。您无需继续执行命令。请记住,在现有的大型数据集上发出ensureIndex会导致它立即为那里的所有内容编制索引,并且可能会阻塞。这里有关于索引建议的完整官方常见问题解答:http

node.js - 设置 Heroku Scheduler 作业以向所有用户发送电子邮件 (Meteor/MongoDB)

有谁知道是否可以制作一个每天向我的所有用户发送一封电子邮件的HerokuScheduler作业?我正在使用Meteor和MongoDB。我可以看到HerokuScheduler可以运行诸如“nodesomefile.js”之类的命令,但我似乎无法弄清楚如何在这样的文件中连接到mongodb。我可以在不涉及Meteor的情况下以某种方式利用数据库吗?如有任何帮助,我们将不胜感激! 最佳答案 我最终找到了一个包:synced-cron.基本上,您需要设置一种使用包来触发重复作业的方法。包网站也有示例代码:SyncedCron.add({

node.js - 当 cron 在后台运行时,没有 Mongo 查询得到结果

我一直将NodeJS作为服务器端,将MongoDB作为我们的数据库。它真的很适合一起使用。现在我已将node-schedule库添加到我们的系统中,以调用像cron-job一样的函数。该过程大约需要数小时才能完成。我的问题是每当cron运行时,我站点的所有用户都得不到服务器的响应,即数据库被锁定。坚持了一周的问题,需要好的解决方案来运行cron,而不影响用户使用该网站。 最佳答案 通常,您会希望编写一个worker并在不属于您的服务器的不同入口点运行该worker。您可以通过多种方式实现这一目标。1)在另一台服务器上编写一个work

MongoDB 中的 PHP 时区偏移

我正在使用MongoDB和PHP开发一个系统来祝生日快乐。现在真正的问题是系统每天使用CRONJob生成消息并检查是否有生日,如果有则在系统范围内发布。此外,每个用户都指定了他们的默认时区,并且使用当前为+5.30(IST)的系统时间生成消息。因此,假设系统在12月3日凌晨12点生成了一条消息,存储在数据库中的时间戳将与系统的时区一致。当用户访问它显示的内容时,它会按照相同的方式显示,但我需要根据用户的设置显示它。请参阅随附的屏幕截图。 最佳答案 您的服务器代码应使用UTC,因此您无需关心服务器的位置。使用本地时间可能会导致问题,因

node.js - node-cron 模块和 Heroku Scheduler 之间的区别

我有一个在Heroku上运行的Node应用程序。我希望每隔几秒定期运行一些作业,以便从外部MySQL数据库获取数据到我的MongoDB。经过广泛搜索后,我找到了很多方法来做到这一点。我的问题是我无法完全理解cron-module和HerokuScheduler之间的区别以及优缺点。我发现的一些差异:如果我使用HerokuScheduler,则至少有10分钟的限制。如果我使用node-cron模块,我会在我的主index.js文件中运行它,如果我愿意,它会每隔几秒运行一次。但是当运行多个测功机时,这两种方法会受到怎样的影响?在哪种情况下,脚本将重复运行多次?

bash - mongodb 导出和删除文档

我想每天运行一个unixcron:将超过3个月的所有文档导出到文档中从集合中删除相同的文档。对于我使用的导出部分:mongoexport--dbmydb--collectionmycollection\--query"`./test2.sh`"--out./test2.json“./test2.sh”文件包含:#!/bin/bashd=`date--date="-3month"-u+"%Y-%m-%dT%H:%M:%SZ"`echo'{"timeCreated":{"$lte":{"$date":"'$d'"}}}'对于删除部分我可以做:mongomydb/home/dev/remov

javascript - 如何在 Node JS 应用程序中实现 cron 作业(使用 node-schedule)

这几天我开始学习NodeJS。我的NodeJS应用程序有一个获取api,当触发http://localhost:portnumber/mybooksurl时,它以json格式从MongoDB数据库中获取书籍信息。书籍模式有四个字段,即标题、作者、类别和价格。现在,我想介绍一个cron作业,它将在每小时的第10分钟和第50分钟运行一次。它会检查是否有任何价格超过100的书(货币在这里无关紧要),它会从数据库中删除该记录(或文档)。表示它将在7:10AM、7:50AM运行,然后在下一个小时的8:10AM和8:50AM运行,依此类推。我正在使用应用程序文件夹中的命令./bin/www启动我的

mongodb - 让我们在 nginx 上使用 mongod 加密 ssl 更新的 cron 作业

我已经在thisguide之后在digitalocean上启动并运行了一个解析服务器。.在为迁移配置mongodb时,您执行此命令:sudocat/etc/letsencrypt/archive/domain_name/{fullchain1.pem,privkey1.pem}|sudotee/etc/ssl/mongo.pem在那之后教程说:YouwillhavetorepeattheabovecommandafterrenewingyourLet'sEncryptcertificate.Ifyouconfigureauto-renewaloftheLet'sEncryptcerti