# Session cleanup

**URL:** <https://www.ruby-forum.com/t/session-cleanup/171002>\
**Category:** Rails\
**Created:** [June 25, 2009, 5:22am UTC](https://www.ruby-forum.com/t/session-cleanup/171002 "2009-06-25T05:22:53Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Xiahong\_G](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/x/3d9bf3/32.png) [@Xiahong\_G](https://www.ruby-forum.com/u/Xiahong_G)\
**Post date:** [June 25, 2009, 5:22am UTC](https://www.ruby-forum.com/t/session-cleanup/171002/1 "2009-06-25T05:22:53Z")

</div>

Hi everyone,

I am a newb. Can anyone tell me how to do session cleanup? I want to  
cleanup those sessions which haven’t been modified in recent 5  
minutes. How to make it a background process in my rails application?

thanks in advance,

xiahong

---

<div class="post-metadata">

**Author:** ![Xiahong\_G](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/x/3d9bf3/32.png) [@Xiahong\_G](https://www.ruby-forum.com/u/Xiahong_G)\
**Post date:** [June 25, 2009, 3:58pm UTC](https://www.ruby-forum.com/t/session-cleanup/171002/2 "2009-06-25T15:58:15Z")

</div>

Do you mean how to timeout a session, or clean up old sessions in the  
database (when using table-based session, opposed to cookie-based  
sessions)?

Cheers,  
Nicholas

---

<div class="post-metadata">

**Author:** ![Xiahong\_G](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/x/3d9bf3/32.png) [@Xiahong\_G](https://www.ruby-forum.com/u/Xiahong_G)\
**Post date:** [June 25, 2009, 9:09pm UTC](https://www.ruby-forum.com/t/session-cleanup/171002/3 "2009-06-25T21:09:22Z")

</div>

yes…

2009/6/25, Nicholas H. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![Xiahong\_G](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/x/3d9bf3/32.png) [@Xiahong\_G](https://www.ruby-forum.com/u/Xiahong_G)\
**Post date:** [June 26, 2009, 12:28am UTC](https://www.ruby-forum.com/t/session-cleanup/171002/4 "2009-06-26T00:28:49Z")

</div>

sorry for confusion. for databased session

2009/6/25 Nicholas H. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![Xiahong\_G](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/x/3d9bf3/32.png) [@Xiahong\_G](https://www.ruby-forum.com/u/Xiahong_G)\
**Post date:** [June 25, 2009, 9:21pm UTC](https://www.ruby-forum.com/t/session-cleanup/171002/5 "2009-06-25T21:21:04Z")

</div>

yes to which one?

---

<div class="post-metadata">

**Author:** ![Xiahong\_G](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/x/3d9bf3/32.png) [@Xiahong\_G](https://www.ruby-forum.com/u/Xiahong_G)\
**Post date:** [June 26, 2009, 2:54am UTC](https://www.ruby-forum.com/t/session-cleanup/171002/6 "2009-06-26T02:54:57Z")

</div>

Here’s any example of a rake task that cleans out sessions that are  
some many weeks old:

[http://topfunky.net/svn/plugins/topfunky\_power\_tools/tasks/database.rake](http://topfunky.net/svn/plugins/topfunky_power_tools/tasks/database.rake)

You can call the rake task in a cron job, but clearing them out every  
five minutes seems a little extreme. I wondering if you are after  
something to timeout the session if it hasn’t been modified for the  
last five minutes. Then you are after something like SessionTimeout:

> **[GitHub - lukeredpath/session-timeout: A simple dynamic session expiry/timeout...](https://github.com/lukeredpath/session-timeout/tree/master)**
>
> master

HTH,  
Nicholas

---

<div class="post-metadata">

**Author:** ![Xiahong\_G](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/x/3d9bf3/32.png) [@Xiahong\_G](https://www.ruby-forum.com/u/Xiahong_G)\
**Post date:** [June 26, 2009, 4:19am UTC](https://www.ruby-forum.com/t/session-cleanup/171002/7 "2009-06-26T04:19:17Z")

</div>

Or if you are using MySQL 5.1 as a backend for your session you have  
the ability to schedule a task that can delete the sessions that are  
5min or older.
