JRA公式競馬データ配信サービス JRA-VAN Data Lab.

JRA-VAN DataLab.

競馬ソフト開発コーナー

JV-Link 質問箱

一括表示 リストに戻る
タイトルJVOpen()の動作について
記事No7902
投稿日: 2015/04/04(Sat) 23:32
投稿者ひひん
JVOpen()の動作(特にセットアップ時)について質問があります。私の記憶が正
しければ、以前はJVOpen()を呼び出した後、JV-Linkがダウンロードスレッドを
開始した後すぐにアプリケーションに制御が返ってきていたと思うのですが、現
在のJV-Linkでは、JVOpen()を呼び出すと、ダウンロードが終了するまで返って
きません。

質問
1.JVOpen()の仕様(ダウンロードスレッドを開始したら返す→ダウンロード
が終了するまで返さない)が変更されていると思っているのですが、この認識は
正しいですか?
2.上記1.での認識が正しい場合、仕様が変わったのはいつからですか?
3.上記1.での認識が正しい場合、開発者が1.の仕様の変更を知るために
は何をすればいいですか?
4.最新のJV-Linkインターフェース仕様書(2014年6月10日 第4.4
.0版)の17ページには、JVOpenの【解説】として、
・ローカルディスクに無いデータをサーバーからダウンロードするスレッドを
開始します。
・ダウンロードスレッドが開始したら処理をアプリケーションに返します。
とありますが、ダウンロードが始まっても、終了するまでは処理はアプリケー
ションに返ってきません。JV-Linkインターフェース仕様書のとおりにJV-Linkの
動作を修正していただけませんか(私の記憶が正しければ、元の動作に戻してい
ただけませんか)?

上記4点の質問に関して、お答えよろしくお願いいたします。

タイトルRe: JVOpen()の動作について
記事No7911
投稿日: 2015/04/09(Thu) 17:03
投稿者JRA-VANソフトサポート
JRA-VANソフトサポートの竹下です。
DataLab.サービスをご利用頂きまして誠にありがとうございます。

ご記載いただいた内容のような仕様変更は実施しておりません。
こちらでも検証いたしましたが、JVOpen実行直後にアプリケーション
側へ応答が返ってきていることを確認できております。

大変お手数をお掛けしますが、再度プログラムをご確認
いただけますでしょうか。


以上、よろしくお願い致します。

タイトルRe^2: JVOpen()の動作について
記事No7931
投稿日: 2015/04/13(Mon) 16:37
投稿者ひひん
ご回答いただきありがとうございます。

こちら側で再度確認いたしましたところ、JVOpenを呼び出した後すぐにアプリ
ケーションに制御が返ってくることがあることを確認できました。しかしながら
、長時間制御が返ってこないことがあることも確認しています。

元の質問を投稿したのは、ソフトの利用者の方からセットアップが進まないと
報告を受けたことにより調査した結果、JVOpenを呼び出した後に長時間制御が返
ってこないことが原因であると判断したため、仕様変更があったと思い質問させ
ていただきました。

調べたのは4月2日(木)の17時頃から22時頃の間で、この間、何度もJVO
penを呼び出しましたが、一度たりともすぐに制御が返ってくることはありませ
んでした。また、ダウンロードが終了した後に制御が返ってくることも一度だけ
ですが確認しています。

回答を頂いた後、4月10日(金)の17時頃に再度調べてみましたが、やは
りJVOpenを呼び出した後長時間制御が返ってきませんでした。しかし、17時半
頃からはすぐに制御が返ってくることがあることが確認できています。18時前
頃以降は、常にすぐに制御が返ってきます。その後は、11日(土)、12日(
日)、13日(月)に何度か試していますが、すぐに制御が返ってきます。

以上の結果から、JVOpenを呼び出した曜日や時間帯などによっては、ダウンロ
ードが終了するまではアプリケーションに制御が返ってこないことがあるのでは
と疑っています。

タイトルRe^3: JVOpen()の動作について
記事No7944
投稿日: 2015/04/22(Wed) 15:25
投稿者JRA-VANソフトサポート
JRA-VANソフトサポートの竹下です。

情報のご記載ありがとうございます。
4月2日(木)の17時頃から22時頃の間で応答が無かったとの
ことですので、4/23(木)の同時間帯に、こちらでも同様の
事象が発生するか確認させていただきます。

検証結果につきまして少々お待ちください。


以上、よろしくお願い致します。

タイトルRe^3: JVOpen()の動作について
記事No7955
投稿日: 2015/04/24(Fri) 13:29
投稿者JRA-VANソフトサポート
JRA-VANソフトサポートの竹下です。

ご記載いただいた事象につきまして、こちらで4/23(木)17:00〜22:00
に不定期にJVOpenを実行して検証しましたが、すべて実行直後に
応答が返ってきていることを確認致しました。

併せまして同様の問い合わせが他にも無いか確認しましたが、
「曜日や時間帯によって応答が無い」という内容の問い合わせは
ございませんでした。

ご記載いただいている4月2日(木)の17時頃や4月10日(金)の17時頃は
蓄積系ファイルについては何も提供しておらず、弊社側で特別な環境の
変更作業も行っておりません。
(毎週木曜日の20時頃に蓄積系ファイルの提供を行っておりますが、
その時間帯付近でも応答が返ってきていることを確認しております)

つきましては競馬ソフトまたは実行端末の環境などに原因がある
可能性が高い為、今一度ご確認いただければと思います。


大変お手数をおかけいたしますが、よろしくお願い致します。

タイトルRe^4: JVOpen()の動作について
記事No7959
投稿日: 2015/04/26(Sun) 00:00
投稿者ひひん
わざわざご検証していただきありがとうございます。

その後当方でも何度も試していますが、再現しておりませんので、何が起こっ
ていたのか詳細が分からない状態です。今後も再現テストを続けていきますので
、再現して詳細が分かりましたら、そのときには再度報告させていただきます。

タイトルJVOpen()ではなくJVClose()でした
記事No8032
投稿日: 2015/05/26(Tue) 17:58
投稿者ひひん
久々に現象が再現しましたので詳細を報告させていただきます。

まず、制御が長時間戻ってこないのはJVOpen()ではなくJVClose()でした。また
、ダウンロードが完了するまで戻ってこないのではなく、完了する少し前に戻っ
てくることが分かりました。

プログラムでは最初にJVOpen()を dataspec="TOKUYSCHRACEDIFFSNAPHOSEH
OYUCOMM" fromtime="20130000000000" option=4 で呼んだ後に
すぐにJVClose()を呼んでいます。これは、取り込むファイル数を調べるためで
、その後、dataspecを個別に指定してセットアップを進めるようになっています


このときの最初にJVOpen()やJVClose()を呼び出した(戻ってきた)時間は以下
のようになりました。

 ←「2015/05/26 16:24:22」
JVOpen()
 ←「2015/05/26 16:24:25」
JVClose()
 ←「2015/05/26 16:25:49」

JVOpen()は3秒で戻ってきましたが、JVClose()は1分24秒経たないと戻って
きませんでした。

なお、「C:\ProgramData\JRA-VAN\Data Lab\data」(事前に空にしておく)に
ダウンロードされたファイルは815個でした。また、ダウンロードされたファイ
ルの更新日時の最初と最後とJVClose()が戻ってきた時刻の前後は、以下のよう
になりました。

CKVM2013019920131101145211.jvd 「2015/05/26 16:24:25」
:
UMXM2015049920150430193232.jvd 「2015/05/26 16:25:48」
SKVM2004019920131101141837.jvd 「2015/05/26 16:25:51」
:
BTXM2015049920150430192941.jvd 「2015/05/26 16:25:59」

タイトルRe: JVOpen()ではなくJVClose()でした
記事No8162
投稿日: 2015/07/29(Wed) 18:48
投稿者ひひん
この件、どうなりましたでしょうか。JVClose()がすぐに戻ってこないことがあ
るというのは異常な動作ではないのですか。

タイトルRe^2: JVOpen()ではなくJVClose()でした
記事No8178
投稿日: 2015/08/03(Mon) 15:10
投稿者JRA-VANソフトサポート
JRA-VANソフトサポートの竹下です。
DataLab.サービスをご利用頂きまして誠にありがとうございます。

回答が遅くなり申し訳ございません。

頂いた情報を元こちらでもJVCloseの検証を実施致しましたが、
やはり応答に時間がかかる といった事象は確認できませんでいた。

JVCloseではOSに対してダウンロードやファイルコピースレッド等の
終了指示を出し、その応答を待つ といった処理を行っております。

従いまして、ご利用環境にてOSからの応答が何らかの要因により
時間がかかり、結果としてJVClose処理に時間がかかっているものと
推測致します。


以上、よろしくお願い致します。

ウィンドウを閉じる