more aggressive timeout constraints for loose source queries
This commit is contained in:
@@ -4,6 +4,7 @@ class PostsController < ApplicationController
|
|||||||
respond_to :html, :xml, :json
|
respond_to :html, :xml, :json
|
||||||
rescue_from PostSets::SearchError, :with => :rescue_exception
|
rescue_from PostSets::SearchError, :with => :rescue_exception
|
||||||
rescue_from Post::SearchError, :with => :rescue_exception
|
rescue_from Post::SearchError, :with => :rescue_exception
|
||||||
|
rescue_from ActiveRecord::StatementInvalid, :with => :rescue_exception
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@post_set = PostSets::Post.new(tag_query, params[:page], params[:limit])
|
@post_set = PostSets::Post.new(tag_query, params[:page], params[:limit])
|
||||||
|
|||||||
@@ -43,7 +43,15 @@ module PostSets
|
|||||||
end
|
end
|
||||||
|
|
||||||
@posts ||= begin
|
@posts ||= begin
|
||||||
temp = ::Post.tag_match(tag_string).paginate(page, :count => ::Post.fast_count(tag_string), :limit => per_page)
|
timeout = 3000
|
||||||
|
if tag_string =~ /source:.*\*.*\*$/
|
||||||
|
timeout = 300
|
||||||
|
end
|
||||||
|
|
||||||
|
temp = ::Post.with_timeout(timeout, Danbooru.config.blank_tag_search_fast_count || 1_000_000) do
|
||||||
|
::Post.tag_match(tag_string).paginate(page, :count => ::Post.fast_count(tag_string), :limit => per_page)
|
||||||
|
end
|
||||||
|
|
||||||
temp.all
|
temp.all
|
||||||
temp
|
temp
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -152,7 +152,7 @@ class Post < ActiveRecord::Base
|
|||||||
|
|
||||||
module ImageMethods
|
module ImageMethods
|
||||||
def has_large?
|
def has_large?
|
||||||
image_width > Danbooru.config.large_image_width
|
image_width.present? && image_width > Danbooru.config.large_image_width
|
||||||
end
|
end
|
||||||
|
|
||||||
def has_large
|
def has_large
|
||||||
|
|||||||
Reference in New Issue
Block a user