Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 延迟::作业任务未执行且不';当它们运行时,无法从队列中清除_Ruby On Rails_Ruby On Rails 4_Backgroundworker_Delayed Job - Fatal编程技术网

Ruby on rails 延迟::作业任务未执行且不';当它们运行时,无法从队列中清除

Ruby on rails 延迟::作业任务未执行且不';当它们运行时,无法从队列中清除,ruby-on-rails,ruby-on-rails-4,backgroundworker,delayed-job,Ruby On Rails,Ruby On Rails 4,Backgroundworker,Delayed Job,My Delayed::作业正在排队,但未运行。当我在控制台中检查它们时,last\u error字段中没有错误,表明它们尚未运行。我可以在控制台中使用一些\u job.invoke\u job成功地运行它们,但是在它们运行后,它们不会像应该的那样从队列中清除(它们通常在控制台中手动调用它们后清除) 我正在运行delayed_作业(4.0.4)和Rails 4.1.4。这个问题似乎发生在gem升级之后 我已多次重新启动延迟的作业服务器 队列中有一个作业: # 如何让延迟的::作业自动运行,并在它

My Delayed::作业正在排队,但未运行。当我在控制台中检查它们时,
last\u error
字段中没有错误,表明它们尚未运行。我可以在控制台中使用
一些\u job.invoke\u job
成功地运行它们,但是在它们运行后,它们不会像应该的那样从队列中清除(它们通常在控制台中手动调用它们后清除)

我正在运行delayed_作业(4.0.4)和Rails 4.1.4。这个问题似乎发生在gem升级之后

我已多次重新启动延迟的作业服务器

队列中有一个作业:

#


如何让延迟的::作业自动运行,并在它们运行完毕后从队列中清除?

首先,确保运行负责处理延迟作业的进程。这里有两个选项:

  • bin/delayed_job
    -运行侦听传入请求的守护程序
  • rake jobs:work
    -在前台处理作业
  • 您提到在控制台中使用-此方法处理作业,但它不会做任何其他事情,这就是为什么您的作业没有从队列中删除

    对于运行作业,然后从队列中删除成功的作业,可以使用

    例如:

    some_job = Delayed::Job.find(job_id)
    Delayed::Worker.new.run(some_job)