每 5 分钟执行一次代码并在 Ruby 鞋中显示进度条

Execute the code every 5 minutes and showing progress bar in Ruby Shoes

我是 Ruby 鞋子的新手。我正在做一个程序,每 5 分钟从互联网上获取一次信息。

我正在考虑使用 ruby 鞋子方法 every()。进度条将显示接近 5 分钟标记之前的距离,然后执行主要代码,然后该方法将等待 5 分钟再次循环。但是,使用此代码,程序将在 300 秒后等待进行第一次迭代,因此进度条直到那时才会显示。我想问一下你是否可以告诉我解决这个问题的方法?

现在,我什至无法考虑如何调整 animate 以配合我的 300 秒,所以我必须设置 every(100)animate(1) 所以基本上每个1:40 分钟不是 5 分钟

无论如何,我现在的首要任务是让进度条不仅在迭代期间而且在它之前显示

抱歉这么久 post。这是我的进度条伪代码希望你能明白:

Shoes.app do
  stack :margin => 0.1 do
   title "Progress bar"
   @p = progress :width => 1.0

   every(100) do |p|
     @animate = animate (1) do |i|
       @p.fraction = (i % 100) / 100.0
       @animate.stop if i > 99
     end
     #main codes go here
   end

  end
 end

我是新手,仍在学习中。感谢您的帮助!

我更改了您的代码,使其每 10 秒执行一次。可以自己修改为每5分钟一次。试试看,稍后谢谢我;)

Shoes.app do
stack :margin => 0.1 do
title "Progress bar"
   @p = progress :width => 1.0
   @animate = animate (1) do |i|
     @p.fraction = (i % 10) / 10.0
     @animate.stop if @p.fraction > 0.9
   end

   every(10) do |p|
         #main codes go here
   end
 end
 end