Supreme 20FW Week12 Timberland Aerial

Bot開発

Week12は、Timberlandとのコラボブーツがリリースされました。その他にAerial Videoのグラフィックを使用したジャケットなどがリリースされ、こちらはStockXでプレ値で取り引きされている状態でした。

前回はデッドロックが発生し、途中でBotが停止してしまうトラブルがありました。チェックアウト処理の問題でデッドロックが発生したようでしたので、その処理を見直しましたが、まだ腑に落ちない点があったのが気になります。

今回狙うのは「Aerial Tapestry Harrington Jacket」「Aerial Tapestry Regular Jean 」「Aerial Skateboard 」「Fish Bowl」です。

 

いつもは間際でバタバタしてしまうことがあったので、今回は余裕を持って設定を終えることができました。いよいよ時間になると、またもや処理が停止してしまっているノードがありました。停止しているノードを確認してみると、チェックアウト画面で「reCAPTCHAに接続することができません。」というアラートが表示されていることに気づきました。

どうやら最後のチェックアウト処理をおこなう前にreCAPTCHAの接続エラー表示され、処理が中断してしまったのが原因でした。このアラートが出ることを想定していなかったので、閉じるまで処理が進まず、他のノードにも影響が出ている状態でした。手動でアラートを閉じ、ボタンを押すと処理が続行したので、おそらく同時にreCAPTCHAへの接続要求が重なったための接続エラーだと思われました。

前回のデッドロックが発生したときも同様のエラーが表示されていたノードがあったので、これが原因だったようです。アラートが表示された場合に自動で閉じて、リトライする処理を実装することで解決できそうです。

もう一つのバグは、最後のチェックアウトで「Due to high traffic…」が表示された場合の自動リトライ処理に問題があることが分かりました。このエラーが表示されても、タイムアウトまで待ってしまうためリトライ処理が遅くなってしまう問題がありました。今回は、いくつかのノードで11時ちょうどくらいにチェックアウトを送信できていましたが、上記エラーが出て購入が出来ない状態となっていたので、人気商品を購入するのは、かなり難しいですね…。それともBotと認識された場合にこのエラーが出ているのかは、まだ分かりません。

 

肝心の結果は久しぶりの購入0となりました…。以前はreCAPTCHAエラーは表示されなく、ここ最近出るようになった気がします。たまたまなのか、Googleの対策か、Bot認定されて表示されるようになったのかは不明です。もしかすると、複数のGoogleアカウントを切り替えたりする必要も出てくるかもしれませんね…。現状は、一部のノードでこのエラーが表示されていた状態です。

 

とりあえずはブラウザを使ったタイプのBotが安定してきたら、ブラウザを使わないタイプのBotも作っていきたいところです。現在は、リストックされたアイテムを購入する場合、チェックアウト画面を開いてからチェックアウトリクエストを送信しているため、どうしても遅くなってしまいます。

リクエストを直接送信する方法を取れば、チェックアウト画面を開く必要がなくなるので、かなりスピードアップできそうです。reCAPTCHAのトークンを事前に取得しておけば、初動のチェックアウトも若干スピードアップできそうな気がします。

現在は、手動でも使われている別タブを自動化する方法を取っていますが、早く作りすぎるとreCAPTCHAの認証画面が出てしまいます。認証画面が出るまでの有効期限は10分なので、10分より早く作りすぎないほうが良さそうです。また、reCAPTCHAの認証を突破すると、認証できたことを証明する文字列(トークン)が取得できます。このトークンをSupremeのサーバに送って、正しくreCAPTCHAを認証できたか比較しますが、このトークンの有効期限は2分間となるようです。

ということは、11時前にこのトークンを取得しておいて、11時にあわせてチェックアウトのリクエストを直接送信する、という方法が一番効率が良さそうです。リストックされたアイテムを購入するときにもチェックアウト画面をスキップできるので、リストック対策にも使えそうです。

ひとまずは、今のBotの安定化を目指してがんばります。

コメント

タイトルとURLをコピーしました