Non-blocking Timed event in Ruby like JavaScript setTimeout -
i need change property on class few minutes after it initialized. attempted use sleep inside function delayed execution of everything:
active = true def deactivate sleep 120 puts 'deactivate' active = false end deactivate puts active what hoping happen true log out first 2 minutes later deactivate log. however, happens deactivate false log out after 2 minutes.
in javascript like:
var active = true; settimeout(function(){ console.log('deactivate'); active = false; },120000); console.log(active);
looks overkill task, can use delayed_job run task @ future time asynchronously.
def deactivate puts 'deactivate' active = false end active = true handle_asynchronously :deactivate, :run_at => proc.new { 2.minutes.from_now }
Comments
Post a Comment