如何用Redmine自动发送邮件?

发表于:2019-1-04 21:05

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:R队长    来源:CSDN

分享:
  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),我们将立即处理。
精选软件测试好文,快来阅读吧~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号