How long do objects stick around in mod_ruby? I have a really simple
pair of files:
countersingle.rb:
···
-----
require 'singleton'
class Counter
include Singleton
def initialize() @counter = 0
end
def get() @counter += 1
end
end
-----
and counter.rhtml:
-----
<html>
<body>
<% require 'countersingle' %>
<%= Counter.instance.get %>
</body>
</html>
-----
When I am refreshing the page, the count goes up. If I wait a minute
or so, the count gets reset to zero. So, I'm wondering if there's
some way to force persistence with mod_ruby, or is there a garbage
collection that happens after a minute of inactivity that will always
clear up everything that's not relevent anymore?
A class will stay around as long as its apache process is alive. Of course, if you go to a different apache process you'll have a different class. You'll need a global-to-the-machine place to store your counter if you want it to work right.
···
On Oct 27, 2005, at 6:58 AM, tsuraan wrote:
How long do objects stick around in mod_ruby? I have a really simple
pair of files:
countersingle.rb:
-----
require 'singleton'
class Counter
include Singleton
def initialize() @counter = 0
end
def get() @counter += 1
end
end
-----
and counter.rhtml:
-----
<html>
<body>
<% require 'countersingle' %>
<%= Counter.instance.get %>
</body>
</html>
-----
When I am refreshing the page, the count goes up. If I wait a minute
or so, the count gets reset to zero. So, I'm wondering if there's
some way to force persistence with mod_ruby, or is there a garbage
collection that happens after a minute of inactivity that will always
clear up everything that's not relevent anymore?