簡體   English   中英

帶有DelayedJob的Rails 5導致錯誤

[英]Rails 5 with DelayedJob resulting in an error

我已經安裝了Rails 5.0.0.rc1以及DelayedJob gem。 我有一些代碼在之前的Rails應用程序(Rails4.2)中完美運行,但由於某種原因它現在在heroku上繼續生產失敗。

簡而言之,我正在嘗試使用DelayedJob的'handle_asynchronously'方法發送電子郵件。 我已經創建了郵件程序並在我的模型中添加了回調,但是當我在Heroku上提交表單時,我會看到一個Rails錯誤屏幕。 在我的日志中,我看到一個錯誤,指出'ArgumentError:錯誤的參數數量(給定1,預期為0)'。 如果我刪除'handle_asynchronously'方法,那么我的回調工作。 我顯然想使用DelayedJob發送郵件等。

我的代碼看起來像這樣:

FooModel.rb

....
after_create    :send_welcome_mail
def send_welcome_mail
    FooMailer.welcome_email(self).deliver
end
handle_asynchronously :send_welcome_mail

就像我說的那樣,這段代碼與Rails4完美配合。 有人能幫助我嗎? 我需要在Rails5中做一些不同的事情嗎?

在我看來,像Delayed Job還不支持Rails 5:

https://github.com/collectiveidea/delayed_job/issues/896

我認為使用ActiveJob作為排隊后端的抽象可能是個好主意。 就像是:

def send_welcome_mail
    FooMailer.welcome_email(self).deliver_later
end

然后你不需要handle_asynchronously調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM