-1

I'm writing a Telegram-Bot's server in Ruby, and I want to repeat running some code. But the problem is the code I want to repeatedly run is dynamic, how can I reschedule it?

蘇健豪
  • 541
  • 4
  • 13

1 Answers1

0

I'm not sure I am answering to your question, but it's fairly easy to reuse a block with different schedules.

require 'rufus-scheduler'


s = Rufus::Scheduler.new

job = lambda do
  puts "hello #{Time.now}"
end

s.in('1s', &job)

# later on, rescheduling...

s.in('2s', &job)

s.join # just so that the example doesn't end here

You can also use a Handler and schedule it multiple times: https://github.com/jmettraux/rufus-scheduler#scheduling-handler-classes

jmettraux
  • 3,511
  • 3
  • 31
  • 30