いろいろ修正して多くのバックテストを実施した。
Gist に画像をアップロードできない
Refused to get unsafe header "X-Digest-Sha256"
Refused to get unsafe header "X-Digest-Sha256-Hmac"
| >>>>> [start 2019-04-03 22:58:26.043337 UTC] | |
| [Client Request] { | |
| host = firestore.googleapis.com:443 | |
| secure = True | |
| method = POST | |
| timeout = ResponseTimeoutMicro 70000000 | |
| redirects = 10 | |
| path = /v1/projects/shogix/databases/(default)/documents:beginTransaction | |
| query = ?alt=json | |
| headers = authorization: Bearer ...omitted...; accept: application/json;charset=utf-8; content-type: application/json;charset=utf-8 |
| import Data.Aeson | |
| import Data.Text.Lazy as LazyT | |
| import Data.Text.Lazy.Encoding as LazyT | |
| import Data.Maybe | |
| json <- LazyT.encodeUtf8 . LazyT.pack <$> readFile "foobar.json" | |
| serviceAccount = fromJust (decode json :: Maybe ServiceAccount) | |
| scopes = [T.pack "https://www.googleapis.com/auth/datastore", T.pack "https://www.googleapis.com/auth/cloud-platform"] | |
| request <- createAccessTokenRequest scopes Nothing serviceAccount | |
| token <- runGetAccessToken request |
| import Control.Lens | |
| import Data.ProtoLens.Runtime.Data.ProtoLens | |
| import Proto.Google.Firestore.V1beta1.Document as Doc | |
| import Proto.Google.Firestore.V1beta1.Document_Fields as Doc | |
| import Data.Text as T | |
| import Data.Map | |
| value = defMessage & maybe'valueType .~ (_Just # _Value'BooleanValue # Prelude.True) :: Doc.Value | |
| -- {boolean_value: true} |
| data =<<END | |
| 水土土土土土土土土水水土 | |
| 土水水水土土土土土水水水 | |
| 土土土土水水土土土水水土 | |
| 土土土土土土土土土水水土 | |
| 土土土土土水土土土水土土 | |
| 土土水土土土土土土水土土 | |
| 土水土水土土土土土水水土 | |
| 水土水土水土土土土土水土 | |
| 土水土水土土土土土土水土 |
うた
| def lazy_fibs | |
| Enumerator.new do |y| | |
| a, b = 1, 1 | |
| loop do | |
| y << a | |
| a, b = b, a + b | |
| end | |
| end.lazy | |
| end |
| class FooWorker | |
| include Sidekiq::Worker | |
| def perform(user_id) | |
| user = User.find(user_id) # user_id が見つからないというエラーが、発生したりしなかったり | |
| ...省略... | |
| end | |
| end |
| user = nil | |
| ActiveRecord::Base.transaction do | |
| user = User.create!(...省略...) | |
| ...省略... | |
| end | |
| FooWorker.perform_async(user.id) if user.present? # 非同期ジョブ投入 |
| user = ActiveRecord::Base.transaction do | |
| user = User.create!(...省略...) | |
| ...省略... | |
| user | |
| end | |
| FooWorker.perform_async(user.id) if user.present? # 非同期ジョブ投入 |