加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 19:04:25 所属栏目:百科 来源:网络整理
导读:是否有一个ruby宝石/插件会将* / 10 * * * 1,3之类的内容转换为“星期一,星期三每10分钟触发一次”? 解决方法 没有什么我知道的,我也没有找到任何与谷歌有关的东西.你可以自己一起破解: cron = "*/10 * * * 1,3 foo" #= "*/10 * * * 1,3 foo" min,hour,dom
是否有一个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条目已经明确指定,所以要想出适合大多数条目的东西应该不会太难.您可能会遇到的条目.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读