iknowlyrics.comには「単語リスト作成」という機能がある。
これは、歌詞で使われている単語を取得した後に、その単語がiKnow!に登録されているかどうかをチェックするというものだ。
開発当初は手続き的にiKnow!にクエリーを送信していたが、遅すぎて現実的に使えなかった。
理由は、100個近くある単語すべてに対して"search items"をリクエストしているから。
問題を解決するために、マルチスレッドにして分散して呼び出すようにした。
しかし、実際に動かしてみると、取得できる単語数が少ない上に、取得する度に単語数が変化していた。
どうやら同時リクエスト数がiKnow!側で制限されているような気がする。
そこで、1秒間に呼び出すスレッドの数を制限することで調整した。
というわけで、これ以上この機能を早くするのは、iKnow! APIの仕様が変わらないと難しいかもしれない。
0 件のコメント:
コメントを投稿