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

JRA-VAN DataLab.

競馬ソフト開発コーナー

JV-Link 質問箱

一括表示 リストに戻る
タイトル蓄積系、速報系の取得タイミングについて
記事No7477
投稿日: 2024/06/06(Thu) 12:55
投稿者zumi
蓄積系ツールと速報系ツールを開発しました。
両ツールとも、定期的にデータを取得し、加工したデータを共通のDBに保存す
るバッチです。

両ツールをタスクスケジューラで別々のタスクで定期実行しているのですが、
両ツールの実行が被った際に、DBにデッドロックが生じるケースがあります。

■ 現状のスケジューリング
・蓄積系 → 毎日1時間ごと

・速報系 → 毎日5分ごと


JV-Data仕様書_4.9.0.xlsxの「データ提供タイミング」を確認したところ、速
報系は主に「金土日」となっていたので、両ツールの実行が被らないように、下
記の通り実行スケジュールを分けようと考えているのですが、データの完全性は
保証されますでしょうか?

■ 検討中のスケジューリング
・蓄積系 → 日〜木に1時間ごと

・速報系 → 金土日に5分ごと


JRA-VAN開発は初めてのため、的外れな質問でしたら申し訳ありません。

他にも蓄積系と速報系を両方定期実行する場合の適切な方法などありましたら
、ご教示頂けますと幸いです。

タイトルRe: 蓄積系、速報系の取得タイミングについて
記事No7478
投稿日: 2024/06/08(Sat) 09:42
投稿者サメの餌
zumiさん、おはようございます。

> 両ツールの実行が被った際に、DBにデッドロックが生じるケースがありま
す。

これがお困りの症状だと思いますが、そもそも2つに分けずに1つのツールにす
れば良い様に思えたりしますけど、なにか特別に分ける必要性があるのでしょう
か?

> ■ 現状のスケジューリング
> ・蓄積系 → 毎日1時間ごと
>
> ・速報系 → 毎日5分ごと

このスケジュールを考えた意図が不明ですが、蓄積系で頻繁にデータを確認し
て取得する意味ってほぼ無い気がします。自分が把握しているデータとしては坂
路とウッドチップに関しては不定期な提供なので適度にとは思うけど、例えば火
曜日の午後に提供されようがレース予想する時点でそれまで提供されているもの
が取得されていればと考えれば週末の他のデータ提供時に一括で、まあ、自分の
場合、前日取得した後、翌朝最初のレース前とかに一応取得してみる程度にして
ます。

速報系はリアルタイムオッズ等の関係から色々あるとは思いますので...JVWatc
hEvent利用するのも1つの方法かと思います。自分はこれ使ったりしてますが、
手動で何か取得中にはJVWatchEventとぶつからない工夫は必要にはなります。

> 他にも蓄積系と速報系を両方定期実行する場合の適切な方法などありまし
たら
> 、ご教示頂けますと幸いです。

蓄積系を定期実行する必要性を検討した方が...蓄積系にリアルタイムを意識す
る必要性は無いと思うので単純に金曜日11時30分頃に本来週末の全てのデータ(
日曜日分は土曜日にですが)、土曜日11時30分頃、週明けの月曜日14時頃だった
かなに成績関連。レース開催日は速報系を必要な物はそれなりの頻度でって思い
ます。土曜日はレース開催日でもあるので蓄積系を取得する際は一旦速報系をス
キップとか。もしくは自分のアプリでは蓄積系の取得でも3分程度で終わるので
、もし速報系が5分間隔とかならその間隔内で済むんですけどね。

アプリデザインとか仕様的な部分は作る方が何を必要としているかで違ってく
るので、ズバリこれ!って話にならないと思うのでコメントがつき辛いのかもで
すね。

ほんの少しでも参考になれば幸いです。

タイトルRe^2: 蓄積系、速報系の取得タイミングについて
記事No7480
投稿日: 2024/06/09(Sun) 22:25
投稿者zumi
サメの餌 様

詳細にご教示くださり誠にありがとうございます!
大変勉強になりました!

> これがお困りの症状だと思いますが、そもそも2つに分けずに1つのツール
にす
> れば良い様に思えたりしますけど、なにか特別に分ける必要性があるので
しょうか?

こちらについては勉強不足で、単純に「蓄積系と速報系の2種類がある=ツール
を分ける」と考えてしまっていました。
お恥ずかしながらデッドロックまでは想定できておらず、検討初期ではツール
を分けた方が内部の処理が分かりやすいかな、と思い開発を始めた次第です。


> このスケジュールを考えた意図が不明ですが、蓄積系で頻繁にデータを確
認し
> て取得する意味ってほぼ無い気がします。

JV-Data仕様書_4.9.0.xlsxの「データ提供タイミング」の18行目に、蓄積系の
レース情報の提供タイミングで下記の記載があったため、定期的に取得が必要で
はないか、と考えていました。

---------------------
曜日:不定期
時間:不定期
備考:レース情報に変更・修正がある場合に提供
提供単位:変更・修正単位 変更・修正のあるレースのみ
---------------------

上記についてはあまり気にしなくてもいいのでしょうか?
同シートの51行目に速報系でも「速報開催情報(一括)」があるようなので、速
報系でも同じ情報が提供されるようでしたら気にしなくても良さそうですが。。



> 蓄積系を定期実行する必要性を検討した方が...蓄積系にリアルタイムを
意識す
> る必要性は無いと思うので単純に金曜日11時30分頃に本来週末の全てのデ
ータ(
> 日曜日分は土曜日にですが)、土曜日11時30分頃、週明けの月曜日14時頃
だった
> かなに成績関連。レース開催日は速報系を必要な物はそれなりの頻度でっ
て思い
> ます。土曜日はレース開催日でもあるので蓄積系を取得する際は一旦速報
系をス
> キップとか。

ご指摘ごもっともと思いました。
そもそも定期実行し続ける必要はありませんね。
上記の蓄積系の不定期の情報取得にこだわらなければ、蓄積系は金土月それぞ
れ1回ずつ、速報系は土日のみで良さそうです。
蓄積系の実行時には速報系をスキップする形で再度検討してみます。


> 速報系はリアルタイムオッズ等の関係から色々あるとは思いますので...J
VWatc
> hEvent利用するのも1つの方法かと思います。

JVWatchEventは初めて知りまして、大変勉強になりました。
仕様書を見て、導入を検討させて頂きます。


初めての開発で運用の勘所が分からず困っていましたが、お陰さまでクリアに
なりました!
お忙しいところご教示頂き誠にありがとうございました!

タイトルRe^3: 蓄積系、速報系の取得タイミングについて
記事No7482
投稿日: 2024/06/11(Tue) 18:53
投稿者サメの餌
zumiさん、こんばんは。

> 上記についてはあまり気にしなくてもいいのでしょうか?
> 同シートの51行目に速報系でも「速報開催情報(一括)」があるようなので
、速
> 報系でも同じ情報が提供されるようでしたら気にしなくても良さそうです
が。。

詳細な説明はJRA-VANの方がして頂けるのではと期待してみたり^^;
蓄積系のデータにもデータ区分なんかを見ると色々とあります。
レース詳細(RA)や馬毎レース情報(SE)等でデータ区分に速報系な
区分があります。この辺りが不定期でのデータ提供って事の様に
思います。

参考になれば幸いです。

タイトルRe^4: 蓄積系、速報系の取得タイミングについて
記事No7483
投稿日: 2024/06/12(Wed) 22:20
投稿者zumi
サメの餌 様

> 蓄積系のデータにもデータ区分なんかを見ると色々とあります。
> レース詳細(RA)や馬毎レース情報(SE)等でデータ区分に速報系な
> 区分があります。この辺りが不定期でのデータ提供って事の様に
> 思います。

仕様書を確認したところ上記の記載がありました!
内容を再確認し、今回のツールに必要なデータなのか判断することにします!

この度は大変お世話になり、ありがとうございました!
今後ともよろしくお願いします!

タイトルRe: 蓄積系、速報系の取得タイミングについて
記事No7479
投稿日: 2024/06/08(Sat) 10:53
投稿者平山
両ツールの実行が被った際…

通常JV-Link は取得呼び出しをすると一瞬で処理が終了します。
被るのはJV-Link 取得以外の部分で時間がかかっていると思われます。

タイトルRe^2: 蓄積系、速報系の取得タイミングについて
記事No7481
投稿日: 2024/06/09(Sun) 22:29
投稿者zumi
平山 様

おっしゃるとおり、データ取得時には問題がなく、データ取得後のDB書き込み
時にデッドロックが発生してる状況です!

他の方からもご指摘を頂き、両ツールの実行が被らない方向で運用を見直すこ
ととなりました!

お忙しいところご教示頂きありがとうございました!

ウィンドウを閉じる