私のアプリでは、サーバー上で遅延ジョブが自動的に実行されなくなりました。以前は..
手動で ssh して rake ジョブを実行すると:work
私はこれを返します:
*** Starting job worker host:ip-(censored) pid:21458
* [Worker(host:ip-(censored) pid:21458)] acquired lock on PhotoJob
* [JOB] host:ip-(censored) pid:21458 failed with ActiveRecord::RecordNotFound: Couldn't find Photo with ID=9237 - 4 failed attempts
これは、複数のジョブであると思われるものに対して、約 20 倍以上になります。次に、これらのいくつかを取得します。
* [Worker(host:ip-(censored) pid:21458)] failed to acquire exclusive lock for PhotoJob
そして最後に、これらのいずれか:
12 jobs processed at 73.6807 j/s, 12 failed ...
私が熟考すべきことはありますか?本当にありがとう!
編集 :
遅延ジョブを呼び出すフォト コントローラーは次のとおりです。
def update
@gallery = @organization.media.find_by_media_id(params[:gallery_id]).media
@photo = @gallery.photos.find(params[:id])
if @photo.update_attributes(params[:photo])
@photo.update_attribute(:processing, true)
logger.info "HERE IS PROCESSING #{@photo.processing}"
Delayed::Job.enqueue PhotoJob.new(@photo.id)
respond_to do |format|
format.html do
if params[:captions_screen] == 'true'
logger.info "WE ARE GOING TO DO NOTHING AT ALL"
render :text => ''
else
redirect_to organization_media_url(@organization)
end
end
format.js { redirect_to organization_media_url(@organization) }
end
else
render :action => 'edit'
end
end