如何在onmessage中获取WORKER自身的进程ID

langbin

如何在onmessage中获取WORKER自身的进程ID
由于开了一百多个进程,在生成订单号 时导致了重复想在订单号上加上进程ID这样可以避免。

阅读 1486
1个回答

blogdaren

两种方法:
1、直接使用 $pid = posix_getpid() 即可
2、间接使用 $worker_id = $connection->worker->id, 这个 $worker_id 本质上和 $pid 一一映射的。

题外话:
你看你自己场景吧,关于订单号建议你还是采用常规那种方式来生成比如雪花算法啥的,因为这种方式也不能杜绝唯一性,进程重启的时候或者分布式部署时一样存在重复订单号的可能,因为进程ID可能重复。

  • 暂无评论