コース再生時に表示されるメッセージについて

コース再生時に表示されるメッセージについて

by Hiro Nakamura -
Number of replies: 5

moodle 3.8.4を使用しています。

SCORMを使用した動画を再生する際に、複数クライアントで同一動画にアクセスすると、添付のようなメッセージ画面が表示される場合があります。(表示されない時もあります)

SCORMメーカーにも問い合わせましたが、本メッセージはMoodleが表示しているメッセージとのことでした。

Webサーバ側との通信が滞った場合に表示されているように思いますが、どのような条件下で表示されるものなのか、わかりますでしょうか?

動画再生時にサーバとのネットワークを切ったり、同時アクセス等でサーバに高負荷をかけると出やすい現象のように感じますが、具体的な条件が知りたいです。(例えば、どのような通信をしていて、何秒以上レスポンスがないと表示するetc.)

一時的な通信断だったとしてもこの表示が残り続けるため、困惑しております。

Attachment dump①.png
Average of ratings: -
In reply to Hiro Nakamura

Re: コース再生時に表示されるメッセージについて

by Mitsuhiro Yoshida -
Picture of Developers Picture of Particularly helpful Moodlers Picture of Translators

> Webサーバ側との通信が滞った場合に表示されているように思いますが、どのような条件下で表示されるものなのか、わかりますでしょうか?

以下のように「30秒毎」にセッションを確認して、「10秒」応答がない場合にSCORMプレイヤのエラーメッセージを表示するようです。

該当プログラム:
mod/scorm/player.php

該当箇所:
286行目

// Add the keepalive system to keep checking for a connection.
\core\session\manager::keepalive('networkdropped', 'mod_scorm', 30, 10);

-----------------

該当プログラム:
lib/classes/session/manager.php

該当箇所:
1068行目

    /**
     * Add a JS session keepalive to the page.
     *
     * A JS session keepalive script will be called to update the session modification time every $frequency seconds.
     *
     * Upon failure, the specified error message will be shown to the user.
     *
     * @param string $identifier The string identifier for the message to show on failure.
     * @param string $component The string component for the message to show on failure.
     * @param int $frequency The update frequency in seconds.
     * @param int $timeout The timeout of each request in seconds.
     * @throws coding_exception IF the frequency is longer than the session lifetime.
     */
    public static function keepalive($identifier = 'sessionerroruser', $component = 'error', $frequency = null, $timeout = 0) {
        global $CFG, $PAGE;
In reply to Mitsuhiro Yoshida

Re: コース再生時に表示されるメッセージについて

by Hiro Nakamura -
ご回答いただきありがとうございます。
大変参考になりました。
In reply to Hiro Nakamura

Re: コース再生時に表示されるメッセージについて

by U_01 hellion -
はじめまして。
本件についてご質問がございます。
どなたか、ご教示いただけますと幸いです。

<質問>
「30秒毎」にセッションを確認して、「10秒」応答がない場合にSCORMプレイヤのエラーメッセージを表示するとのことですが、
具体的に、何がどこからどこへのセッションを監視しているのでしょうか。

以上でございます。
In reply to U_01 hellion

Re: コース再生時に表示されるメッセージについて

by Mitsuhiro Yoshida -
Picture of Developers Picture of Particularly helpful Moodlers Picture of Translators

以下、ご質問「何がどこからどこへのセッションを監視しているのでしょうか」への回答です。

何が: Moodle SCORMモジュール表示時に読み込まれたJavaScript
どこからどこへのセッション: ウェブサーバとユーザクライアント (通常はウェブブラウザ) 間のセッション

参考資料:
[セッションハンドリング - MoodleDocs]
https://docs.moodle.org/ja/セッションハンドリング

[Moodleのセッションハンドリング #Linux - Qiita]
https://qiita.com/papillon/items/62a03bcbcb53253eae9d

[jQueryを使ってHeartBeatを実装しました | みたやんの日記]
http://www.mitayan.com/heartbeat-247.html

[socketioハートビートを使用することの長所/短所 | web-dev-qa-db-ja.com]
https://www.web-dev-qa-db-ja.com/ja/node.js/socketioハートビートを使用することの長所短所/940258810/

In reply to Mitsuhiro Yoshida

Re: コース再生時に表示されるメッセージについて

by U_01 hellion -
早々に、ご回答いただき誠にありがとうございました。
回答内容について承知いたしました。