2

セッション[ 1 ]が特定の時間(例:10分)アイドル状態のときにアクションをトリガーする方法。

Grailsを使用して1つのWebアプリケーションを実行しています。システムがしばらくアイドル状態になっている場合は、特定のタスクを実行する必要があります。システムがアイドル状態のときにアクションをトリガーすることは可能ですか?

注:セッションのタイムアウトについては質問していません。デフォルトでは、セッションが30分間アイドル状態の場合、ログアウトする必要があります。

[ 1 ]:ここではセンスシステムでのセッション。私のWebアプリケーションは1つのサーバーでホストされており、多くのユーザーがアプリケーションにアクセスできます。あるユーザーのシステムがしばらくアイドル状態になっている場合は、その特定のユーザーのタスクを保持する必要があります。これどうやってするの?

4

1 に答える 1

1

HTTP要求/応答パターンの性質に基づいて、ユーザーの(非)相互作用に応じてサーバー側のタスクをトリガーすることはできません。

JavaScriptを使用してクライアント側でユーザーセッションを「監視」し、クライアント側やサーバー側でタスクをトリガーできます。jQueryのidleTimerを使用して、ユーザーがアクティブかどうかを検出しました。

このプラグインを使用すると、いくつかのイベントにバインドして、ユーザーのアイドル状態と再アクティブ化を検出できます。アイドルイベントが発生した場合は、AJAX呼び出しを実行して、次のようなサーバー側のタスクをトリガーできます。

$.idleTimer(10000);

$(document).bind("idle.idleTimer", function(){
    // function you want to fire when the user goes idle (e.g. do an AJAX call)

    $.post('${yourActionURL}', function(data) {
        // handle response
    });
});

お役に立てば幸いです。

于 2012-09-17T07:47:00.993 に答える