57529


コントローラー内でリクエストのログをS3に保存したいのですが  
それなりに数が多くなる（１サーバーあたり秒間数十件、全サーバーから数百件)ことが予想され  
同じファイルに書き込むと ロック⇒追記⇒かき戻し とやってるとネックになる恐れがあるので  
リクエストごとに別のS3ファイルとして保存したいです  
（定期的に過去分を１ファイルにまとめるバッチを走らせてAthenaでみることを想定）

そこでかぶらないS3パスを生成したいと思い  
マイクロ秒＋乱数のようなIDで保存するのがセオリーみたいですが  
乱数も時刻依存なので結局マイクロ秒レベルのオーダーだとかぶるおそれがある気がするので  
Fuel 側でユニークなリクエストIDみたいなものがあったりしないでしょうか

あるいはどのAPもマイクロ秒で終了することは今のところないので  
スレッドIDを取得するのでもいいのですが

よろしくおねがいします


CC BY-SA 4.0
2019-08-22T04:04:40.433
57527
2019-08-22T04:40:41.000
question
fuelphp
FuelPHP でリクエストごとに固有のIDを生成する方法


Str の random メソッドが使えるのではないでしょうか。  
<http://fuelphp.jp/docs/1.8/classes/str.html>

[code]

    // uuid (バージョン 4 - 擬似乱数)
    Str::random('uuid');
    // 返り値: f47ac10b-58cc-4372-a567-0e02b2c3d479
    
[/code]


CC BY-SA 4.0
2019-08-22T04:40:41.000
57529
2019-08-22T04:40:41.000
2238
57527
answer