diff options
| author | dumpfmprod <dumpfmprod@ubuntu.(none)> | 2010-02-24 08:12:36 -0500 |
|---|---|---|
| committer | dumpfmprod <dumpfmprod@ubuntu.(none)> | 2010-02-24 08:12:36 -0500 |
| commit | d1f1322c889c4c7db8401e5b8568b8f97a3ab860 (patch) | |
| tree | 733e29fc0e205f93ef24ed93595c9359d43348a6 /src | |
| parent | 7b9c7f610974c56f13e05387c1f5ff9d7ca16ad0 (diff) | |
| parent | 3e469cfa4dc440fc8fba92b629837306eb4b21b5 (diff) | |
Merge branch 'master' of /pichat/repo
Diffstat (limited to 'src')
| -rwxr-xr-x | src/session_sweeper.clj | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/session_sweeper.clj b/src/session_sweeper.clj new file mode 100755 index 0000000..847d504 --- /dev/null +++ b/src/session_sweeper.clj @@ -0,0 +1,19 @@ +(ns session-sweeper + (:use compojure)) + +(def *run-pruner* true) +(def *pruner-sleep-ms* (* 1000 60 5)) +(def *pruner-agent* (agent nil)) + +(defn prune-compojure-sessions! [x] + (doseq [[session-id session] @memory-sessions] + (if (< (session :expires-at) (System/currentTimeMillis)) + (dosync + (commute memory-sessions dissoc session-id)))) + (Thread/sleep *pruner-sleep-ms*) + (when *run-pruner* + (send *pruner-agent* #'prune-compojure-sessions!)) + x) + +(defn start-session-pruner! [] + (send *pruner-agent* prune-compojure-sessions!))
\ No newline at end of file |
