Tag: locking

Node.js一次locking一个用户

我正在用Node.js构build一个非常简单的Web应用程序。 这个应用程序的目的是允许用户从浏览器编辑一些运行计算的设置。 我想限制应用程序一次只允许一个用户,以避免任何冲突。 如果另一个用户在某个用户已经在那里连接到该应用程序,则应该通知另一个用户该应用程序正在被另一个用户使用。 什么是用Node.js实现这一点的一个优先方法?

如果您尝试在MongoDB数据库的locking部分执行操作,会发生什么情况?

我正在使用MongoDB的Node.js驱动程序。 我明白,如果我在操作过程中删除一个集合,数据库将被写入locking。 如果我试图在数据库上执行另一个写入操作,将会发生什么情况? 该操作是否会返回错误,或者MongoDB是否会自动等待locking被解除并重试? 如果返回错误,它将返回什么错误代码和错误消息?

Mongo收集locking在nodejs中

在Nodejs中如何locking一个用于查询和更新的mongodb集合,然后释放locking。 我的文件将是这样的。 { _id:1, "a" : 1, "b" : 2, "x1" : 0.5 } 这是我的代码 lockCollectionUntilCompleteThisFunction(db, 2, "col1", function () { }); function lockCollectionUntilCompleteThisFunction(db, n, col, callback) { db.collection(col).findOne({x1: 1}, function (err, doc) { if (!err) { var a = doc.a; var b = doc.b + n; var x1 = a / b; var updateDoc […]

如何在Node Js应用程序的多个实例之间同步对象

是否有任何locking节点JS应用程序中的任何对象。 是否有多个应用程序实例可用某些function不应该并发运行。 如果实例A函数完成,应该解锁该对象/键或应用程序的一些标识符和B实例应该检查它的解锁是否应该运行一些function。 任何对象或键都可以用来识别locking和解锁function。 如何在具有多个实例的NodeJS应用程序中这样做。

Node Redis – SET与EX和NX?

Redisbuild议使用带有可选参数的SET作为locking机制。 也就是说,“SETlocking1 EX 10 NX”只有在locking不存在时才会设置locking,locking将在10秒后过期。 我使用Node Redis,它有一个set()方法,但是我不知道如何传递额外的参数来使键过期,如果它已经存在,或者甚至是可能的,都不会被创build。 也许我必须使用setnx()和expire()作为单独的调用?

locking一个对象?

我对Node.js非常陌生,我确信有一个简单的答案,我只是找不到:( 我正在使用文件系统来保存“包”(状态扩展名为“mypackage.idle”的文件夹)。用户可以对这些文件执行操作,导致状态转为“qa”或“部署”等。 。如果服务器正在接受大量请求,并且多个请求进入同一个包,我将如何检查状态,然后执行一个动作,这将改变状态,保证另一个请求在动作之前/期间不会改变发生? 所以在C#这样的东西 lock (someLock) { checkStatus(); performAction(); } 谢谢 :)