ruby插件/ gem将cron转换为人类可读的格式

前端之家收集整理的这篇文章主要介绍了ruby插件/ gem将cron转换为人类可读的格式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否有一个ruby宝石/插件会将* / 10 * * * 1,3之类的内容转换为“星期一,星期三每10分钟触发一次”?

解决方法

没有什么我知道的,我也没有找到任何与谷歌有关的东西.你可以自己一起破解:
>> cron = "*/10 * * * 1,3 foo" 
#=> "*/10 * * * 1,3 foo"
>> min,hour,dom,month,dow,command = cron.split 
#=> ["*/10","*","1,3","foo"]

拥有vars后,您可以开始为输出组装零件:

>> require 'date' 
#=> true
>> dow.split(/,/).map { |day| Date::DAYNAMES[day.to_i] } 
#=> ["Monday","Wednesday"]
>> min.start_with?('*') ? "every #{min.split('/')[1]} minutes" : "#{min} past" 
#=> "every 10 minutes"
>> min = '5' 
#=> "5"
>> min.start_with?('*') ? "every #{min.split('/')[1]} minutes" : "#{min} past" 
#=> "5 past"

显然,这只是一些粗略的想法(例如,您可能需要使用捕获组的正则表达式来解析条目),但是由于crontab条目已经明确指定,所以要想出适合大多数条目的东西应该不会太难.您可能会遇到的条目.

原文链接:https://www.f2er.com/ruby/267907.html

猜你在找的Ruby相关文章