Ich habe ein Backend mit Padrino Ruby Framework entwickelt und möchte einen Cron Job erstellen.Wie cron Job in Ruby-Anwendung anpassen?
Dies ist, was ich getan habe.
gem 'whenever', :require => false
wheneverize .
innen schedule.rb
every 1.minute do
rake "cronjob"
end
/tasks/cronjob.rake
H Bevor ich meine benutzerdefinierten Aufgaben hinzugefügt habe. und das wird zu lange hier hinzuzufügen sein.
Also schrieb ich nur Fehler passiert Teile
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] = "** <[email protected]**.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
Ich habe diese Fehler:
SEQUEL deprecation WARNUNG: Führen mehrere Argumente als Filter Argumente, wenn keine Bedingungen Spezifizierer ([# verwenden :! =, @args => [: status, "ausstehend"]>, #:>, @args => [# "slots", @column =>: von>, Sa, 02 Dez 2017]> , #: <, @args => [# "slots", @column =>: to>, Mi, 10 Jan 2018]>]) ist veraltet und wird in Sequel 5 entfernt. Übergeben Sie die Argumente an separate Filtermethoden oder verwenden Sie Sequel. &, um sie zu kombinieren. /Users/whitesnow/.rvm/gems/ruby-2.4.1/gems/sequel-4.46.0/lib/sequel/dataset/query.rb:1296:in
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:inwhere' /Volumes/Data/Work/RBP/GAB/tasks/cronjob.rake:12:in
Block in ' /Users/whitesnow/.rvm/gems/ruby-2.4. [email protected]/gems/rake-12.0.0/lib/rake/task.rb: 250: inblock in execute' /Users/whitesnow/.rvm/gems/[email protected]/gems/rake-12.0.0/lib/rake/task.rb:250:in
jeder ' /Users/whitesnow/.rvm/gems/[email protected]/gems/rake- 12.0.0/lib/rake/task.rb: 250: inexecute' /Users/whitesnow/.rvm/gems/[email protected]/gems/rake-12.0.0/lib/rake/task.rb:194:in
Block in invoke_with_call_chain ' /Users/whitesnow/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/monitor.rb: 214: inmon_synchronize' /Users/whitesnow/.rvm/gems/[email protected]/gems/rake-12.0.0/lib/rake/task.rb:187:in
invoke_with_call_chain '
Ich denke, Fehler sind von sequel querying
und
data[:html] = render 'mails/sendemailbasedontime',:locals => { :data => localdata }
natürlich, diese Abfrage in anderer .rb Datei getestet wurde und ich mit rohen SQL getestet. Zum Beispiel habe ich diese Aufgaben im Get Request-Handler des test.rb-Controllers getestet. und es funktioniert gut Ich würde gerne wissen, ob ich Renderfunktion innerhalb Aufgabe verwenden kann. Ich suchte den ganzen Tag nach diesem Problem ohne Erfolg. Jeder Rat wird mir große Hilfe sein. Vielen Dank.