Hi, I just tried out the PeriodicalTaskServlet with a simple task running every 60 seconds. All it does is logging the current time via RAILS_DEFAULT_LOGGER each time it is run.
The task is correctly executed every 60 seconds but only every other log statement from the task appears in the Rails log file. I know it's correctly executed every minute since logging with $servlet_context.log results in a log statement every minute as expected. This happened on Linux with JDK1.5/Tomcat 5.5. My theory now is that the job is executed by a different JRuby runtime each time it runs (I have a maximum of 2 runtimes configured), and Rails' simple logging mechanism can't handle that, resulting in lost log statements. So my question now is - how do you handle logging in your JRuby/Rails applications? Imho a more global logging facility would be needed to correctly log input from multiple runtimes, just like the servlet_context logger. Something mimicking the behaviour of Rails' Logger class would be needed to make it a drop-in replacement. Shouldn't be too hard to do I guess, but I'd rather ask here before re-inventing the wheel ;-) Btw, is there any way to get the servlet initialized by the container other than having to hit the path where it's mounted with the browser? I had to do so - only after that the servlet's init method was called and it started executing the job. many thanks, Jens -- Jens Krämer http://www.jkraemer.net/ - Blog http://www.omdb.org/ - The new free film database _______________________________________________ Jruby-extras-devel mailing list [email protected] http://rubyforge.org/mailman/listinfo/jruby-extras-devel
