草庐IT

rabbitmq-delayed-message-exchange

全部标签

ruby - 从 Ruby 访问 Microsoft Exchange 服务器

我需要将MSExchange的联系人与我的RubyonRails应用程序同步。哪种方法最好?您会为它推荐任何现有的gem吗? 最佳答案 一个起点是ExchangeDeveloperCenter,其中Microsoft链接到不同SDK、文档等的下载。可以理解的是,大多数文档和示例将使用Microsoft的.NETFramework和语言。如果您想连接Exchange2007或2010,您可能会发现使用某种形式的ExchangeWebServices(EWS)最简单。您可以使用像SOAP4R这样的RubyWeb服务框架连接到它,WSO2

ruby-on-rails - 将 block 传递给 delayed_job

我有一个标记为由delayed_job异步处理的函数:classCapJobsdefexecute(params,id)beginunlessRails.env=="test"Capistrano::CLI.parse(params).execute!endrescuesite=Site.find(id)site.records.create!(:date=>DateTime.now,:action=>"TaskFailure:#{params[0]}",:type=>:failure)site.saveensureyieldidendendhandle_asynchronously:

ruby-on-rails - rails 3 : how to generate custom error message from failed validation

我正在使用validates:feed_id,presence:true,uniqueness:true我应该如何生成自定义错误消息以指定用户已经订阅了此提要(feed_id)字段重复我知道我可以只做validate_uniqueness_of但它会不必要地使代码困惑。如果唯一性验证失败,我该如何传递特定的错误消息?? 最佳答案 使用键message和期望的消息作为值而不是true放置一个散列:validates:feed_id,presence:true,uniqueness:{message:"alreadysubscribed

ruby-on-rails - 在 Rails 3.2 中使用 "error_messages"? (引发 "undefined method"错误)

我在Rails3.2功能测试中遇到以下错误:ActionView::Template::Error:undefinedmethod`error_messages'for#产生错误的View代码:#problematiccode这是我的Controller中调用上述View代码的代码:render:action=>"edit",:status=>:bad_request这是我正在运行的测试:test"updateaprogramwithabadrequest"doput:update,:id=>programs(:traditional).to_param,:program=>{:min

ruby-on-rails - 使用 rSpec 测试 delayed_job 链的最佳方法是什么?

目前,当我的代码中有一个延迟方法时,如下所示:CommentMailer.delay.deliver_comments(@comment,true)我在规范中写了这样的东西:dj=mock("DelayProxy")CommentMailer.should_receive(:delay).and_return(dj)dj.should_receive(:deliver_comments).with(comment,true)一般来说,有没有更好的方法来处理这个和/或类似rSpec中的链式方法? 最佳答案 我们可以在beforeblo

ruby-on-rails - 在 Heroku 上重启后长时间运行的 delayed_job 作业保持锁定状态

当Herokuworker重新启动时(根据命令或作为部署的结果),Heroku将SIGTERM发送到worker进程。对于delayed_job,SIGTERMsignaliscaught然后工作人员在当前作业(如果有)停止后停止执行。如果工作人员需要很长时间才能完成,那么Heroku将发送SIGKILL。在delayed_job的情况下,这会在数据库中留下一个锁定的作业,不会被其他工作人员接收。我想确保作业最终完成(除非出现错误)。鉴于此,解决这个问题的最佳方法是什么?我看到两个选项。但我想获得其他输入:修改delayed_job以在收到SIGTERM时停止处理当前作业(并释放锁定)

ruby - Delayed_job - 多个并行队列?

我正在使用delayed_job并转移到一个更强大的新服务器。所以现在我想运行并行作业,就像现在一样IhavethePOWER!,但对delayed_job是否可以运行多个并行队列感到困惑?Thisquestion建议有命名队列,但这些队列是否都在一个表中运行,因此是顺序的?在底部@JesseWolgamott建议您可以为每个队列创建一个表,然后并行运行。有没有人这样做过,他们能告诉我是怎么做到的吗? 最佳答案 这是可能的,而且我一直在这样做。在我们的例子中,我们需要多个作业来处理三种不同类型的作业,比如queue_a、queue_

ruby-on-rails - 为什么 Rails 的 "errors.full_messages"不替换属性和消息变量?

我刚刚创建的Rails模型出现了一个奇怪的问题。这是我的验证:validates_presence_of:from_name,:message=>'Pleaseprovideafromname.'validates_presence_of:from_emailvalidates_presence_of:giftition_plan_id我在表单中使用errors.full_messages和f.error_messages时遇到问题:g=Giftition.createg.errors.first=>["from_name","Pleaseprovideafromname."]>>g.

ruby-on-rails - 如何调试在 IRB 控制台的 delayed_job 任务中运行的代码?

我有一个使用delayed_job运行的后台任务。我可以看到它确实从日志语句运行。与在前台运行相比,它似乎没有正确的结果,所以我想在IRB控制台中调试它。我正在运行后台任务rakejobs:work并且它不会触发调试器语句。如何加载调试器? 最佳答案 启动一个标准的rails控制台rubyscript/console并在此处启动一个worker,这将看到并触发调试器语句。worker=Delayed::Worker.newworker.start 关于ruby-on-rails-如何调试

ruby-on-rails - rails 4 : Flash message persists for the next page view

我在布局中使用以下代码来显示两种类型的即显消息:它们都工作正常,但无论何时触发一个,它仍会出现一次额外的页面View。我没有使用任何缓存gem。为什么会这样?我该如何解决? 最佳答案 使用flash.now而不是flash.flash变量旨在在redirect之前使用,并且它会在一个请求的结果页面上持续存在。这意味着如果我们不redirect,而不是简单的render一个页面,flash消息将持续存在两个请求:它出现在呈现的页面上但仍在等待重定向(即第二个请求),因此如果您单击链接,消息将再次出现。为了避免这种奇怪的行为,在渲染而不