V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  fds  ›  全部回复第 21 页 / 共 42 页
回复总数  821
1 ... 17  18  19  20  21  22  23  24  25  26 ... 42  
2017-12-06 14:38:33 +08:00
回复了 imherer 创建的主题 Node.js nodejs 中大量短时间定时器实现方案?
@imherer 建议你看下源码,只有调用 cancel,才会从 scheduledJobs 这个字典里删除,否则就一直缓存在里面了。

这个设计勉强也可以理解,因为这个库就主要是为了那些会重复执行的 task 设计的。当然在新语法下,这个 scheduledJobs 应该用 WeakMap 比较好。

总之,你那需求应该用 setTimeout ……当然我觉得更好的做法是与客户端同步服务器时间,然后是直接告知在某某时间点某某道具开始有效,不必用定时器。生效前客户端就消耗了道具应该视为无效。正确消耗了,通知下一个时间点即可。
2017-12-06 14:19:00 +08:00
回复了 imherer 创建的主题 Node.js nodejs 中大量短时间定时器实现方案?
@imherer 我死循环不断新建 job 然后 cancel 没有发现有问题
```
let schedule = require("node-schedule");

let count = 0;
function scheduleOne() {
if (count % 10000 === 0) {
console.log(count);
}
++count;
let j = schedule.scheduleJob("0 * * * 0,4-6", function() {
console.log("Today is recognized by Rebecca Black!");
});
setImmediate(() => {
j.cancel();
scheduleOne();
});
}

scheduleOne();
```

看你描述“当玩家在游戏过程中吃掉一个道具后,客户端告诉我,我就重新给这个道具一个 task 用来倒计时多长时间后这个道具恢复”这里旧的 task 有 cancel 么?定时把 node-schedule 里的 scheduledJobs 的大小打出来看看?
2017-12-06 13:51:11 +08:00
回复了 imherer 创建的主题 Node.js nodejs 中大量短时间定时器实现方案?
说的是下面这个库?结尾没有 d 呀?
https://github.com/node-schedule/node-schedule
看起来这个库主要是运行那种定期执行的任务,可能设计时没太注意大量使用的情况?不过看代码 cancel 以后应该删除了,没看出什么问题……

其实几秒钟的时间用 setTimeout 更方便呀,不知道为什么舍近求远用这个库呢?
返回的是 cursor,肯定为 True 呀,你得调用.next()才可能获得一个空结果吧。
另外,这种约束条件一般是这样实现:在 ip 上建立一个 unique 的索引,然后每次都直接插入;如果已有,则会报错 duplicate,忽略即可。你这种 ifelse 不是“原子”操作,如果有多个进程同时工作,可能插入多条相同 ip 的。
2017-11-28 10:33:06 +08:00
回复了 tuding 创建的主题 云计算 云计算会不会让运维失业?
啊,云服务难道不是运维为了减轻自己的负担顺手写的吗?
typescript+1
已内购
一般还是另外启动个进程吧?主要是单独重启方便,不影响其他服务进程。
当然也得看定时任务具体是啥……
2017-11-14 10:23:43 +08:00
回复了 caogen9 创建的主题 NGINX NGINX 长连接 TCP 转发
tcp 转发?一般不都用 HAProxy 么。
2017-11-14 10:03:13 +08:00
回复了 Corbusier 创建的主题 程序员 请教一个关于 js 异步/同步流程的问题
@Corbusier 其实已经“超长”了,是不是敏感字就不重要了,反正也不接受,都不用 ajax。当然如果按我之前说的顺序(或者你开始的要求),敏感字优先的话,那应该先显示“验证中”,ajax 回来才根据结果显示是“敏感词”还是“超长”。
2017-11-14 09:59:24 +08:00
回复了 zo 创建的主题 git 关于 git 多分支合并的问题
checkout 到 master 分支上
git merge --squash feature
将 feature 分支上所有修改作为一个提交加到 master 上,检查一下所有修改即可。当然分支的历史就不在主分支了,但一般开发分支的历史也不重要。
2017-11-13 15:48:15 +08:00
回复了 Corbusier 创建的主题 程序员 请教一个关于 js 异步/同步流程的问题
@Corbusier 这其实是两个状态,不应该互相干扰的。前端展示应该同时判断两个状态。
两个状态:
敏感:可能取值:等待验证结果、有敏感词、没问题
其他:可能取值:没问题、超长、特殊字符
一个前端展示函数:
敏感为有敏感词,显示为有敏感词。
敏感为等待验证结果,显示为等待中。
敏感为没问题,根据“其他”的状态显示。
输入完或异步回调完都调用展示函数即可。

不过我没明白为什么同步的判断优先级要比敏感词低。按理说应该是先通过了同步判断再进行 ajax 验证的。
2017-11-13 14:28:50 +08:00
回复了 Corbusier 创建的主题 程序员 请教一个关于 js 异步/同步流程的问题
没懂,异步请求回来再同步判断会有什么问题?
过程中前端应该保持“等待服务器结果”的状态。

能用 await 的话代码更简单了。await 1 然后同步 2 呗……
2017-11-09 11:12:48 +08:00
回复了 lmqdlr 创建的主题 程序员 vscode 的图标又蓝回来了,嫌图标丑的可以更新了
嗯,总算跟 sublime 区别开了
……好吧,那没必要提 JSON 呀,而且你帖子里写的还是“ json 数据”,直接说普通 js 对象呗……我也推荐直接用 lodash 的 get 函数,有需要可以直接看源码。
JSON.parse(字符串) 返回 js 对象
2017-10-18 18:30:28 +08:00
回复了 iamdhj 创建的主题 JavaScript js 不加分号导致的运行异常
用 prettier 自动给需要的地方加分号
2017-10-18 12:59:12 +08:00
回复了 PingCAP 创建的主题 数据库 写在 TiDB 1.0 发布之际 | 预测未来最好的方式就是创造未来
恭喜恭喜
1 ... 17  18  19  20  21  22  23  24  25  26 ... 42  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3389 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 36ms · UTC 11:05 · PVG 19:05 · LAX 03:05 · JFK 06:05
Developed with CodeLauncher
♥ Do have faith in what you're doing.