如何在ruby应用程序中自定义cron作业?

野村No

我一直在使用padrino ruby​​框架开发后端,我想建立一个cron工作。

这就是我所做的。

  • gem 'whenever', :require => false
  • wheneverize .

在schedule.rb中

 every 1.minute do
    rake "cronjob"
 end

/tasks/cronjob.rake

在这里,我添加了自定义任务。这将需要很长时间才能在此处添加。

所以我只写了发生错误的部分

performances = Performance.left_join(:slots, id: :slot_id).where(Sequel.~(status: ModelA::Api.settings.pending),Sequel[:slots][:from]>oneweekbefore,Sequel[:slots][:to]<onemonthafter+1.day)
....

begin
  data = {}
  data[:from] = "** <postmaster@**.mailgun.org>"
  data[:to] = email
  data[:subject] = subject
  data[:html] = render 'mails/sendemailbasedontime',:locals => { :data => localdata }
  RestClient.post GigabitArtist::Api.settings.mailgun_domain, data
    rescue => exception
      puts exception.inspect
    end
end

我收到这些错误:

顺序优先级警告:不使用条件说明符时,将多个参数作为过滤器参数传递([#:!=,@ args => [:status,“ pending”]>,#:>,@ args => [#“ slots” ,@column =>:from>,Sat,02 Dec 2017]>,#:<,@args => [#“ slots”,@column =>:to>,Wed,10 Jan 2018]>])并将在Sequel 5中删除。将参数传递给单独的过滤器方法,或使用Sequel。&组合它们。/Users/whitesnow/.rvm/gems/ruby-2.4.1/gems/sequel-4.46.0/lib/sequel/dataset/query.rb:1296:在filter_expr' /Users/whitesnow/.rvm/gems/ruby-2.4.1/gems/sequel-4.46.0/lib/sequel/dataset/query.rb:1249:in add_filter中/Users/whitesnow/.rvm/gems/ruby -2.4.1 / gems / sequel-4.46.0 / lib / sequel / dataset / query.rb:1034:在where' /Volumes/Data/Work/RBP/GAB/tasks/cronjob.rake:12:in'/Users/whitesnow/.rvm/gems/ruby-2.4.1@global/gems/rake中的块中-12.0.0 / lib / rake / task.rb:250:在block in execute' /Users/whitesnow/.rvm/gems/ruby-2.4.1@global/gems/rake-12.0.0/lib/rake/task.rb:250:in 每个/Users/whitesnow/.rvm/gems/ruby-2.4中。execute' /Users/whitesnow/.rvm/gems/ruby-2.4.1@global/gems/rake-12.0.0/lib/rake/task.rb:194:in /users/whitesnow/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/monitor.rb:214:in mon_synchronize' /Users/whitesnow/.rvm/gems/ruby-2.4.1@global/gems/rake-12.0.0/lib/rake/task.rb:187:in invoke_with_call_chain'中的

我认为错误是来自sequel querying

data[:html] = render 'mails/sendemailbasedontime',:locals => { :data => localdata }

当然,此查询已在其他.rb文件中进行了测试,而我使用了原始sql进行了测试。例如,我在test.rb控制器的get请求处理程序中测试了此任务。而且效果很好,我想知道是否可以在任务中使用渲染功能。我整天都在搜索这个问题,但没有成功。任何建议对我都会有很大帮助。非常感谢你。

杰里米·埃文斯(Jeremy Evans)

作为弃用警告状态,您正在将多个参数传递给filter方法。最简单的解决方法是为每个参数分别调用filter方法:

performances = Performance.
  left_join(:slots, id: :slot_id).
  exclude(status: ModelA::Api.settings.pending).
  where(Sequel[:slots][:from]>oneweekbefore).
  where(Sequel[:slots][:to]<onemonthafter+1.day)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 Ruby on Rails 应用程序中实现自定义 css?

如何在我的电子应用程序中添加自定义的Chrome扩展程序?

如何在状态栏中添加自定义应用程序?

如何在grails应用程序中管理角色明智的功能(自定义授权)

如何在Gnome Shell中创建自定义应用程序启动器?

如何在Cordova应用程序中添加自定义Cordova插件

如何在ColdFusion应用程序中定位自定义标签实例

如何在Android中为整个应用程序设置自定义字体?

如何在所有模板中访问自定义对象表达应用程序?

如何在WinForms应用程序中创建自定义剪贴板格式

如何在Vaadin 14应用程序中包含自定义SASS文件?

如何在WSO2 ESB中运行自定义应用程序

如何在电子应用程序中自定义菜单?

如何在Spring MVC(非Spring Boot)应用程序中自定义Jackson

如何在快捷方式应用程序中自定义Siri快捷方式

如何在我的应用程序中嵌入自定义字体

如何在自定义应用程序中禁用Flash Player上的声音?

如何在Rails应用程序中创建自定义异常?

如何在Ubuntu(16.10)中自定义Qt应用程序的颜色?

如何在“物料底部”应用程序栏中自定义视图?

如何在整个Vaadin 7应用程序中设置自定义字体

如何在branch.io中为Android自定义智能应用程序横幅?

如何在我的 Python 应用程序中添加自定义 tkinter 文本框?

如何在 Cocoa 应用程序的主线程中运行自定义代码

如何在自定义Integromat应用程序中调试IML函数?

如何在MFC应用程序中自定义CMFCMenuBar

如何在Windows Phone 7应用程序开发中制作自定义文本块

如何在angularjs应用程序中为Bootstrap Popover添加自定义标头

如何在Android应用程序中创建自定义视图?