저는 padrino 루비 프레임 워크를 사용하여 백엔드를 개발했으며 cron 작업을 만들고 싶습니다.루비 응용 프로그램에서 cron 작업을 사용자 정의하는 방법은 무엇입니까?
이것은 내가 한 것입니다. schedule.rb 내부
gem 'whenever', :require => false
wheneverize .
every 1.minute do
rake "cronjob"
end
/tasks/cronjob.rake
H 내 사용자 정의 작업을 추가할까요? 여기에 추가하는 데는 오래 걸릴 것입니다.
속편 중단 경고 :하십시오 조건 지정자 를 (사용하지 않을 경우 필터로 인수를 여러 인수를 전달 [#
그래서 난 단지 오류가 발생하는 부분
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
나는 이러한 오류를 가지고 썼다 :! =, @args => [: 상태, "보류 중">>, # :>, @args => [# "슬롯", @ 칼럼 => : from>, 토요일, 2017 년 12 월 2 일] , # : <, @args => [# "slots", @column => : to>, 수요일, 2018 년 1 월 10 일]>])은 후속 작업이 아니며 후속 조치로 이 제거됩니다. 인수를 별도의 필터 메소드에 전달하거나 후속을 사용하십시오. 그들을 결합하는 &. /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
블록이 ' /Users/whitesnow/.rvm/gems/ruby-2.4'에 있습니다. [email protected]/gems/rake-12.0.0/lib/rake/task.rb : 250 :block in execute' /Users/whitesnow/.rvm/gems/[email protected]/gems/rake-12.0.0/lib/rake/task.rb:250:in
각 ' /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
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 '
나는 오류가 sequel querying
및
data[:html] = render 'mails/sendemailbasedontime',:locals => { :data => localdata }
당연히,이 쿼리는 다른 .rb 파일에서 테스트되었습니다 내가 원시 SQL 테스트에서 생각합니다. 예를 들어, test.rb 컨트롤러의 요청 처리기에서이 작업을 테스트했습니다. 그리고 잘 작동합니다. 태스크 내부에서 렌더링 기능을 사용할 수 있는지 알고 싶습니다. 나는 하루 종일이 문제를 찾아 성공하지 못했습니다. 조언이 도움이 될 것입니다. 대단히 감사합니다.