# How to put timer on ruby

**URL:** <https://www.ruby-forum.com/t/how-to-put-timer-on-ruby/180262>\
**Category:** Ruby\
**Created:** [December 16, 2009, 5:07am UTC](https://www.ruby-forum.com/t/how-to-put-timer-on-ruby/180262 "2009-12-16T05:07:23Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![kgovinda](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/c68b51/32.png) [@kgovinda](https://www.ruby-forum.com/u/kgovinda)\
**Post date:** [December 16, 2009, 5:07am UTC](https://www.ruby-forum.com/t/how-to-put-timer-on-ruby/180262/1 "2009-12-16T05:07:23Z")

</div>

i need a timer for the program i am writing but i don’t know the code so  
please someone help me to write timer…  
thanx for your help…

---

<div class="post-metadata">

**Author:** ![kgovinda](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/c68b51/32.png) [@kgovinda](https://www.ruby-forum.com/u/kgovinda)\
**Post date:** [December 17, 2009, 10:51am UTC](https://www.ruby-forum.com/t/how-to-put-timer-on-ruby/180262/2 "2009-12-17T10:51:59Z")

</div>

> i need a timer for the program i am writing but i don’t know the code so  
> please someone help me to write timer…  
> thanx for your help…

a) timeout:

require ‘timeout’  
timeout(4) do

# code in here will only run for 4 seconds

end

If you look at the implementation of timeout, you will see that it is  
easy to time code using Kernel.sleep. This is however very imprecise and  
can’t be used for animation loops, for example.

b) EventMachine

require ‘eventmachine’  
time = Time.now  
EventMachine::add\_timer(1) do  
puts “hello one second from #{time}!”  
end

Eventmachine should allow you to do more precise timing. Your  
possibilities are of course limited by the system you run on.

greetings,  
kaspar
