Tag: settimeout

在Node.js中保持setTimeout和setInterval重新启动

我设置了相当多的服务器端超时setTimeout和setInterval每个连接的用户可以持续10-30秒。 如果Node.js实例在其中一个超时期间重新启动,显然它们在重新启动时会被清除,这可能会给这些用户带来一些问题。 我将如何去坚持这些超时,还是有任何模块已经帮助了这个?

在节点js中设置超时的麻烦

我有一个域exception处理程序(夜间testing包装)。 我的exception处理程序包装 var domainError = function(func) { return function() { var d = domain.create().on('error', function(err) { console.error(err.stack); }); d.enter(); try { return func.apply(this, arguments); } catch (err) { //do something with the err } d.exit(); } }; 我想设置超时,以便return func.apply(this, arguments); 并不是永远。 任何人都可以build议如何添加超时,并使域结束function,并退出,如果超过超时?

迭代迭代中的setTimeout

我有下面的代码,我想在每次Myurl迭代之间放置setTimeout 。 有许多classes ,每个classes都包含许多元素。 //Some calculations before… var i = 0; async.whilst( function () { return i <= thefooz.length – 1; }, function (innerCallback) { //Some calculations where I get classes array. async.forEachOfSeries(classes, function (Myurl, m, eachDone) { // Here I want a delay async.waterfall([ function (next) { connection.query( 'SELECT * FROM mydata WHERE UrlLink=? […]

Node.js setTimeout 24小时 – 任何警告?

简单的问题,我想在Node.js设置24或12小时的超时周期性(一天一次或两次)检查一些数据库数据,并清理可疑的垃圾,如果有的话。 是否有任何可能的问题或性能问题,由设置巨大的超时造成的,我需要知道的? 我不介意,如果它不是确切的12-24小时在毫秒,并不介意丢失服务器崩溃的这个超时,因为我将在服务器启动时运行相同的垃圾收集器。 结论: 我不使用本机操作系统cron来运行单独的脚本,因为我需要访问此脚本中的当前Node.js处理数据。 最后,我决定使用https://www.npmjs.com/package/cron软件包,以便在特定的时间(大概是在低服务器负载的时候)安装。 感谢大家的快速反应!

Golang中的nodejs setTimeout是什么?

我目前正在学习,并且我错过了来自golang的Nodejs的setTimeout 。 我还没读过很多,我想知道是否可以像间隔或回送一样执行相同的操作。 有没有一种方法可以将它从节点写入golang? 我听说golang处理并发性很好,这可能是一些goroutines或其他? //Nodejs function main() { //Do something setTimeout(main, 3000) console.log('Server is listening to 1337') } 先谢谢你! //Go version func main() { for t := range time.Tick(3*time.Second) { fmt.Printf("working %s \n", t) } //basically this will not execute.. fmt.Printf("will be called 1st") }

在Javascript中查询本地值的首选方法是什么?

例如,有一个名为animationComplete的variables(来自第三方库)和一个名为happenAfterAnimation的函数: 一个简单的解决scheme如下所示: while(!animationComplete) { // Do nothing } happenAfterAnimation() 或者像这样一个更复杂的解决scheme: function tryHappenAfterAnimation() { if(animationComplete) { happenAfterAnimation() } else { setTimeout(tryHappenAfterAnimation, 100) } } setTimeout(tryHappenAfterAnimation, 100) 第一个解决scheme可能有一些开销,第二个解决scheme看起来有点脏。 由于future/promise是不是在当前版本的Javascript中可用,它的方式可能有点矫枉过正这里..我只是想知道是否有一个优雅和轻量级的方式来处理这种情况.. 有没有人有更好的方式来处理这个想法? 谢谢!

在redis中存储node.js setTimeout的返回值

我在Node.js中使用setTimeout ,它似乎行为不同于客户端setTimeout因为它返回一个对象,而不是一个数字。 我想存储在redis中,但由于redis只存储string,我需要将对象转换为string。 但是,使用JSON.stringify会引发循环引用错误。 如何将这个对象存储在redis中,如果我想能够从redis中获取并调用clearTimeout呢?

在Node.js中设置一个计时器

我需要每24小时在Node.js中运行代码。 我遇到了一个叫setTimeout的函数。 以下是我的代码片段 var et = require('elementtree'); var XML = et.XML; var ElementTree = et.ElementTree; var element = et.Element; var subElement = et.SubElement; var data='<?xml version="1.0"?><entries><entry><TenantId>12345</TenantId><ServiceName>MaaS</ServiceName><ResourceID>enAAAA</ResourceID><UsageID>550e8400-e29b-41d4-a716-446655440000</UsageID><EventType>create</EventType><category term="monitoring.entity.create"/><DataCenter>global</DataCenter><Region>global</Region><StartTime>Sun Apr 29 2012 16:37:32 GMT-0700 (PDT)</StartTime><ResourceName>entity</ResourceName></entry><entry><TenantId>44445</TenantId><ServiceName>MaaS</ServiceName><ResourceID>enAAAA</ResourceID><UsageID>550e8400-e29b-41d4-a716-fffffffff000</UsageID><EventType>update</EventType><category term="monitoring.entity.update"/><DataCenter>global</DataCenter><Region>global</Region><StartTime>Sun Apr 29 2012 16:40:32 GMT-0700 (PDT)</StartTime><ResourceName>entity</ResourceName></entry></entries>' etree = et.parse(data); var t = process.hrtime(); // [ 1800216, 927643717 ] setTimeout(function () { […]

如何在node.js中实现setTimeout

我想知道是否有人知道如何在node.js中实现setTimeout 。 我相信我已经在某个地方看到这不是V8的一部分。 我很快试图find实现,但无法find源(BIG)。我例如发现这个timers.js文件,然后例如链接到timer_wrap.cc 。 但是这些文件并没有完全回答我所有的问题。 V8是否有setTimeout实现? 我想也是从源头上得出的答案是否定的。 setTimeout是如何实现的? JavaScript或本地或两者的组合? 从timers.js我假设沿着这两条线: var Timer = process.binding('timer_wrap').Timer;` 当添加多个定时器(setTimeout)时,node.js如何知道首先执行哪个? 它是否将所有定时器添加到一个集合(sorting)? 如果它被sorting,那么find需要执行的超时是O(1)和O(log n)来插入? 但是再次在timers.js我看到他们使用链表? 但是再增加很多定时器根本不是问题? 当执行这个脚本时: var x = new Array(1000), len = x.length; /** * Returns a random integer between min and max * Using Math.round() will give you a non-uniform distribution! */ function getRandomInt (min, max) { […]

NodeJS超时如果未能及时完成Promise

如何在一定的时间后超时? 我知道Q有一个承诺超时,但我使用本机NodeJS承诺,他们没有.timeoutfunction。 我错过了一个还是它的包装不同? 或者,下面的执行是否在不吸取内存,实际上按预期工作? 我也可以使它以某种方式包裹在全球范围内,所以我可以使用它创build的每一个承诺,而不必重复setTimeout和clearTimeout代码? function run() { logger.info('DoNothingController working on process id {0}…'.format(process.pid)); myPromise(4000) .then(function() { logger.info('Successful!'); }) .catch(function(error) { logger.error('Failed! ' + error); }); } function myPromise(ms) { return new Promise(function(resolve, reject) { var hasValueReturned; var promiseTimeout = setTimeout(function() { if (!hasValueReturned) { reject('Promise timed out after ' + ms + ' ms'); […]