Closed kgtkr closed 6 years ago
Twitterで教えてもらったものをそのまま使っていたので確かに間違っているかもしれません.確認します.
https://github.com/twitter/snowflake/blob/scala_28/src/main/scala/com/twitter/service/snowflake/IdWorker.scala
Twitterのstatus id生成に使われているsnowflake(正確には,現在のものは公開されていないが実際はやっていることはほぼ同じ,とのこと)のコードを参照したところ,確かに基点となっているunix timeはご指摘の通り1288834974657
のようです.修正します.
多くのサイトでは
((id >> 22) + 1288834974657)
と紹介されていますが、このbotは((id >> 22) + 1288834974567)
となっています。 これは意図的な物でしょうか?それともバグでしょうか? この計算式違いにより-90msの差が出てしまっているようです。