0

私はこの宝石を自分のアプリケーションに使用しています。必要なパラメーターが見つかりません。コントローラーには、作成と分析の2つの関数があります。create-methodが呼び出されたときに5分後に実行したい、またはモデルにもう1つの関数がある:process process-methodが呼び出されたときに5分後に(コントローラーから)analyse-methodを実行したい。anylse-method

私はこのようなsmtを見つけました:

handle_asynchronously :in_the_future, :run_at => Proc.new { 5.minutes.from_now }

ただし、関数の後に呼び出す必要があるとは書かれていません。

編集: 仕事を遅らせようとしましたが、すべてが保存されたようです。問題は、1分後にメソッドが実行されなかったperform_analysisことです。何が問題になる可能性がありますか?

モデル:

after_create :process_name, :perform_analysis

 def perform_analysis
   list=Analysis.do_picture_analyse
   update_image_url(list)
    
  end
 handle_asynchronously :perform_analysis, :run_at => Proc.new { 1.minutes.from_now }

SQL(8.3ms)INSERT INTO "delayed_jobs"( "attempts"、 "created_at"、 "failed_at"、 "handler"、 "last_error"、 "locked_at"、 "locked_by"、 "priority"、 "queue"、 "run_at" 、"updated_at")VALUES(?、?、?、?、?、?、?、?、?、?、?)[["attempts"、0]、["created_at"、Sat、16 Mar 2013 14: 30:19 UTC +00:00]、["failed_at"、nil]、["handler"、 "---!ruby / object:Delayed :: PerformableMethod \ nobject:!ruby / ActiveRecord:Arraydb \ n属性:\ n id:45 \ n arraydb_file_name:ND2_CD8_133A.CEL \ n arraydb_content_type:!binary |-\ n YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFt \ n arraydb_file_size:12110237 \ n定義:'はい'\ n患者:'はい'\ n患者:ND chip_image:\ n chip_info:\ n user_id:\ n hist:\ n hist_RMA:\ n created_at:2013-03-16 14:30:17.698742003 Z \ n updated_at:2013-03-16 14:30:19.297934640 Z \ nmethod_name::perform_analysis_without_delay \ nargs: [] \ n "]、[" last_error "、nil]、[" locked_at "、nil]、["locked_by "、nil]、[" priority "、0]、[" queue "、nil]、[" run_at "、2013年3月16日土曜日14:31:19 UTC +00:00]、[" updated_at "、2013年3月16日土曜日14:30:19 UTC +00:00]]2013年3月16日14:31:19UTC+00:00]、["updated_at"、2013年3月16日土曜日14:30:19 UTC +00:00]]2013年3月16日14:31:19UTC+00:00]、["updated_at"、2013年3月16日土曜日14:30:19 UTC +00:00]]

前もって感謝します

4

1 に答える 1

0

コールバックを使用してメソッドをトリガーできます。:in_the_futureこれにより、作成アクションが完了してから5分後に実行される遅延ジョブとして、メソッドがキューに入れられます。

after_create :in_the_future
于 2013-03-16T12:55:22.817 に答える