Ruby on rails 延迟作业在被分派后未执行,rails

Ruby on rails 延迟作业在被分派后未执行,rails,ruby-on-rails,Ruby On Rails,我在控制器中这样做: MyTestJob.perform_later 调用此命令时,将在my rails控制台中显示: [ActiveJob] Enqueued MyTestJob (Job ID: e7af2684-4dc4-4a1f-bac7-b189dddb6f2f) to DelayedJob(default) [ActiveJob] (0.4ms) BEGIN [ActiveJob] SQL (0.6ms) INSERT INTO "public"."delayed_j

我在控制器中这样做:

MyTestJob.perform_later
调用此命令时,将在my rails控制台中显示:

[ActiveJob] Enqueued MyTestJob (Job ID: e7af2684-4dc4-4a1f-bac7-b189dddb6f2f) to DelayedJob(default)
[ActiveJob]    (0.4ms)  BEGIN
[ActiveJob]   SQL (0.6ms)  INSERT INTO "public"."delayed_jobs" ("queue", "handler", "run_at", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5) RETURNING "id"  [["queue", "default"], ["handler", "--- !ruby/object:ActiveJob::QueueAdapters::DelayedJobAdapter::JobWrapper\njob_data:\n  job_class: GenerateCouponcodesJob\n  job_id: e7af2684-4dc4-4a1f-bac7-b189dddb6f2f\n  queue_name: default\n  arguments: []\n"], ["run_at", "2015-10-28 09:58:17.891850"], ["created_at", "2015-10-28 09:58:17.892095"], ["updated_at", "2015-10-28 09:58:17.892095"]]
[ActiveJob]    (11.0ms)  COMMIT
  Rendered campaign/test.html.erb within layouts/application (0.1ms)
Completed 200 OK in 254ms (Views: 233.6ms | ActiveRecord: 12.0ms)
所以上面的日志说这项工作已经完成了(这证明我的延迟工作人员工作正常),但没有得到执行, 这是我的工作:

class MyTestJob < ActiveJob::Base
  queue_as :default

  def perform(*args)
    directory = Rails.root
    File.open(File.join(directory, 'file.txt'), 'w') do |f|
        f.puts "contents"
    end
    Delayed::Worker.logger.debug("Log Entry")
  end
end
classmytestjob
在delayed_job.log中未创建文件和日志。 我做的每件事都是正确的,但仍然没有错误

上面的日志显示作业已排队(这证明我的延迟工作人员工作正常)

没有。这意味着“排队器”工作正常。对这个工人只字不提

它应该作为一个单独的进程运行

bundle exec rake jobs:work

哦作业是否可以自动运行,或者每次需要执行作业时都必须运行此命令?以及如何清空队列?只要启动worker,它就会坐在那里等待作业。