如何用Redmine自动发送邮件?

发表于:2019-1-04 21:05  作者:R队长   来源:CSDN

字体: | 上一篇 | 下一篇 |我要投稿 | 推荐标签: Redmine

  R队最近接到一个任务,要每个月定时给指定的用户发送一封邮件,乘机研究了下redmine的定时任务,这里就给小伙伴们分享一下。
  R队用的是rufus-scheduler定时任务。rufus-scheduler一共有五种类型定时任务:in, at, every, interval and cron,具体怎么用且听R队慢慢道来。。。
  一. in、at类型定时任务
  in:设置在一段时间后执行
   require 'rufus-scheduler'
  scheduler = Rufus::Scheduler.new
  scheduler.at ''2018/01/25' do
  puts "2018年1月25日执行定时任务"
  end
  at:在某一时间执行
   require 'rufus-scheduler'
  scheduler = Rufus::Scheduler.new
  scheduler.at ''2018/01/25' do
  puts "2018年1月25日执行定时任务"
  end
  二. every、interval、cron类型定时任务
  every和interval比较相似,都是设置在固定的间隔时间内重复执行,区别是every计算两次触发间隔时间,而interval计算的则是本次触发结束到下次触发开始的时间。
  every类型:
   require 'rufus-scheduler'
  scheduler.every '3h' do
  puts "每隔3小时执行一次"
  end
  interval类型:
   require 'rufus-scheduler'
  scheduler.interval '2h' do
  puts "每隔2小时执行一次"
  end
  corn:corn定时任务比起every和interval更加灵活,可以更加精确的设置定时器的触发时机。
   require 'rufus-scheduler'
  scheduler.cron '00 09 * * *' do
  puts "每天上午9点执行一次"
  end
  三. 定时任务开发实例
   使用corn定时任务调用发送邮件的方法实现每月22号自动发送文档提醒邮件功能,具体实现代码如下:
   require 'rubygems'
  require 'rufus-scheduler'
  require 'Mailer'
  scheduler = Rufus::Scheduler.new
  
   #设置定时任务为每月22号10点发送
  scheduler.cron '00 10 22 * *' do

   #执行定时任务时调用Mailer中的deliver_mail方法
  Mailer.deliver_mail
    end
  
     上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。

评 论

论坛新帖

顶部 底部


建议使用IE 6.0以上浏览器,800×600以上分辨率,法律顾问:上海瀛东律师事务所 张楠律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2020, 沪ICP备05003035号
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪公网安备 31010102002173号

51Testing官方微信

51Testing官方微博

扫一扫 测试知识全知道