国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

webman在controller里如何得到workerId

cqqjj1029

在控制器里生成SnowFlakeId時(shí),在高并發(fā)場(chǎng)景下還是會(huì)發(fā)生ID重復(fù),需要傳入$workerId參數(shù)可以避免,已知在process的onWorkerStart里可以得到$worker->id,那么在controller里,該怎么得到$worker對(duì)象呢?

1982 4 1
4個(gè)回答

banro512
var_dump(\Webman\App::worker()->id)
法師

用posix_getpid() 獲得當(dāng)前進(jìn)程pid也行吧

  • cqqjj1029 2022-04-12

    謝謝。剛試了,\Webman\App::worker()->id得到10,而posix_getpid()得到29915,目前我用的snowflake接收datacenter范圍0~31,接收workerid范圍0~127

  • evilk 2022-05-05

    datacenter范圍0~31,這個(gè)沒(méi)問(wèn)題
    workerid范圍不也是0-31嗎,怎么你的是0-127呢?

evilk

借樓問(wèn)下
有沒(méi)有適用于webman的雪花算法庫(kù)

  • xuehuli8210 2022-04-12

    composer
    "godruoyi/php-snowflake": "^2.0",

    使用
    $snowflake = new \Godruoyi\Snowflake\Snowflake;
    $snowflake->id();

  • cqqjj1029 2022-04-13

    godruoyi/php-snowflake如果直接使用的話,在同一毫秒內(nèi)的并發(fā)請(qǐng)求會(huì)有重復(fù)結(jié)果,后來(lái)我用easyswoole/utility里的SnowFlake,用起來(lái)挺方便。https://www.easyswoole.com/Components/Help/snowFlake.html

  • evilk 2022-05-05

    感謝
    最近也在使用雪花算法
    需要在當(dāng)前請(qǐng)求中,獲取當(dāng)前進(jìn)程ID

  • andyzu 2022-05-06

    請(qǐng)大神告知如何安裝 或下載 easyswoole/utility里的SnowFlake ?

  • evilk 2022-05-06

    我是直接把 EasySwoole\Utility\SnowFlake這個(gè)文件拷貝出來(lái)的

  • cqqjj1029 2022-05-07

    composer require easyswoole/utility

liziyu

$snowFlakeId = md5(uniqid(php_uname('n').getmypid(), true))

  • 暫無(wú)評(píng)論
年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??