V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  runnerlee  ›  全部回复第 4 页 / 共 9 页
回复总数  168
1  2  3  4  5  6  7  8  9  
2019-05-18 23:59:02 +08:00
回复了 jy04149886 创建的主题 程序员 mysql gui 客户端推荐一个
TablePlus +1, 前两天刚剁手买了正版, 真香~
2019-05-17 18:00:23 +08:00
回复了 shikimoon 创建的主题 程序员 求推荐背包,单肩或者斜跨的
阿迪的双肩包, 哪一款忘了, 挑有独立的笔记本袋那种, 价格两三百.

我那个用了几年了, 好像还有一点防水效果, 一般下雨淋到了外面全湿但内袋还是干的.

有一次跟女朋友搭公交车, 她晕车找不到地方吐就全吐我书包里了, 吐完拉上拉链半个钟后下公交, 一点都没滴出来..
2019-05-09 19:54:43 +08:00
回复了 uoddsa 创建的主题 PHP redis 队列推送消息的疑问🤔️
忘了补充一个细节,

在用 lua 调用 lpop 之后, 会将消息 json decode 出来然后自增 attempts 字段, 再放到备份队列.

https://github.com/laravel/framework/blob/5.8/src/Illuminate/Queue/LuaScripts.php#L62

这样是为了实现最大重试次数, 当失败到配置的最大次数之后, 会把消息保存到 mysql 后从 redis 里丢弃掉.
2019-05-09 19:35:27 +08:00
回复了 uoddsa 创建的主题 PHP redis 队列推送消息的疑问🤔️
laravel 的做法是同时维护三个队列: 主队列 (list), 备份队列 (reserved, zset) , 延时队列 (delayed, zset).

消息从 list 里 lpop 出来之后会根据超时时间再次存放到备份队列里去, 这个操作用 lua 实现:

https://github.com/laravel/framework/blob/5.8/src/Illuminate/Queue/LuaScripts.php#L54
```
-- Pop the first job off of the queue...
local job = redis.call('lpop', KEYS[1])
local reserved = false
if(job ~= false) then
-- Increment the attempt count and place job on the reserved queue...
reserved = cjson.decode(job)
reserved['attempts'] = reserved['attempts'] + 1
reserved = cjson.encode(reserved)
redis.call('zadd', KEYS[2], ARGV[1], reserved)
redis.call('lpop', KEYS[3])
end
return {job, reserved}
```

而在从主队列 pop 之前, 会根据当前时间从备份队列和延时队列两个 zset 中取出消息 rpush 到主队列中.

https://github.com/laravel/framework/blob/5.8/src/Illuminate/Queue/RedisQueue.php#L167

同样也是使用 lua 进行操作
https://github.com/laravel/framework/blob/5.8/src/Illuminate/Queue/LuaScripts.php#L105
```
-- Get all of the jobs with an expired "score"...
local val = redis.call('zrangebyscore', KEYS[1], '-inf', ARGV[1])

-- If we have values in the array, we will remove them from the first queue
-- and add them onto the destination queue in chunks of 100, which moves
-- all of the appropriate jobs onto the destination queue very safely.
if(next(val) ~= nil) then
redis.call('zremrangebyrank', KEYS[1], 0, #val - 1)

for i = 1, #val, 100 do
redis.call('rpush', KEYS[2], unpack(val, i, math.min(i+99, #val)))
-- Push a notification for every job that was migrated...
for j = i, math.min(i+99, #val) do
redis.call('rpush', KEYS[3], 1)
end
end
end

return val
```

同时为了避免重复消费, 在消息消费成功后, 会手动从备份队列删除备份消息.

https://github.com/laravel/framework/blob/5.8/src/Illuminate/Queue/Jobs/RedisJob.php#L84

在每次 pop 出消息并进行消费之前, 会注册一个 timeoutHandler, 通过计时器来实现中断超时任务

https://github.com/laravel/framework/blob/5.8/src/Illuminate/Queue/Worker.php#L111

所以, 当消费过程中发生异常退出或是超时中断后, 会根据重试时间, 从备份队列里面取出备份消息重新消费.
2019-05-06 11:24:01 +08:00
回复了 uqf0663 创建的主题 酷工作 [汕头][小公司]潮汕地区的 PHPER 跟 前端 看过来~
支持~
2019-04-22 23:25:15 +08:00
回复了 mamahaha 创建的主题 Ubuntu 有没有适合 Ubuntu 的 nginx+ PHP +mysql 一键安装包
用 ubuntu 的时候, 我习惯是 apt 装 php 跟 nginx, 然后用 homestead. 但现在推荐用 docker, 对于开发环境非常便利.

可以看下这个: https://laradock.io/
2019-04-19 09:40:11 +08:00
回复了 runnerlee 创建的主题 分享发现 拔牙的医生说下次别挂另外一个医生的号
@SharkIng 哈哈, 我也很不爽, 打了洞治疗完, 说得拍个 X 光, 拍完还说不行得拍个 CT
2019-04-18 23:50:23 +08:00
回复了 runnerlee 创建的主题 分享发现 拔牙的医生说下次别挂另外一个医生的号
@caomu 我的看法是, 另外一个医生如果能先让拍片再治疗就不会白白钻个孔. 结合另外一位医生的说法, 他应该虽有副主任医师的 title 但医术相对弱鸡.
2019-04-18 23:47:56 +08:00
回复了 runnerlee 创建的主题 分享发现 拔牙的医生说下次别挂另外一个医生的号
@luoway 也就是, 如果医生先让拍片而不是先做治疗, 就不用钻个无用的孔. 具体病因我也不知道怎么说, 但两位医生的意见的确都是只能拔牙然后种牙, 根管治疗已经没用的了. 现在也准备去种牙了, 先拔牙, 过两个月再种牙.
2019-04-18 20:11:57 +08:00
回复了 runnerlee 创建的主题 分享发现 拔牙的医生说下次别挂另外一个医生的号
@illl 我女朋友的牙, 说是初中的时候已经坏了
2019-04-18 20:07:00 +08:00
回复了 runnerlee 创建的主题 分享发现 拔牙的医生说下次别挂另外一个医生的号
@illl 不是的, 拍的片两个医生都看了, 都说是没用, 原话貌似是 "牙根坏死吸收了"
2019-04-15 22:22:51 +08:00
回复了 zycpp 创建的主题 程序员 每天总有那么几次想砸电脑
砸坏了一个机械键盘...
祝平安
2019-04-12 09:18:50 +08:00
回复了 Cytion 创建的主题 全球工单系统 微信乘车卡,我手机有没有 root 关你屁事?
ios 路过.. 你们在说什么?
2019-04-03 19:58:05 +08:00
回复了 StarRED 创建的主题 程序员 各位大佬你们的桌面音响是啥牌子
Bose SoundLink Revolve+
2019-04-01 23:46:04 +08:00
回复了 howtodiea 创建的主题 健康 想知道拔牙后有多痛?
如果不是阻生智齿的话应该不会很痛, 拔的时候会打麻药, 麻药是一根针扎牙龈, 会痛, 麻药很快起效然后就拔了, 接下来就是看医生的熟练度.

拔完麻药大概一两个钟之后会开始退, 如果太疼吃点止痛药 (乐松贼有效), 然后三餐喝粥, 早上也能正常刷牙, 3 - 7 天基本就好了.

如果你在广州天河的话, 推荐中山三院的刁惠波医生, 我女朋友的智齿就是他拔的, 快准狠, 两颗牙不到七百块钱, 第四天就能正常饮食了.
2019-04-01 12:50:57 +08:00
回复了 aaaaaaaaa 创建的主题 程序员 曝光个来 v 站一年骗了 1k 多 star 的家伙
翻了一下感觉 @boywhp 一直在平和地解释, 不明白为什么挺多人那么激动?

他发的说 star 过千的帖子里, 也有说是 "闭源局域网接入小软件", repo 里增加说明是闭源也是因为被大家说了才去加的.
1  2  3  4  5  6  7  8  9  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5186 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 29ms · UTC 09:20 · PVG 17:20 · LAX 01:20 · JFK 04:20
Developed with CodeLauncher
♥ Do have faith in what you're doing.