mirror of
https://github.com/Shopify/liquid.git
synced 2026-09-19 02:40:41 -07:00
Reset resource consumption before each render
This commit is contained in:
@@ -69,7 +69,6 @@ module Liquid
|
|||||||
|
|
||||||
def render(context)
|
def render(context)
|
||||||
output = []
|
output = []
|
||||||
context.resource_limits.render_length = 0
|
|
||||||
context.resource_limits.render_score += @nodelist.length
|
context.resource_limits.render_score += @nodelist.length
|
||||||
|
|
||||||
@nodelist.each do |token|
|
@nodelist.each do |token|
|
||||||
|
|||||||
@@ -7,10 +7,7 @@ module Liquid
|
|||||||
@render_length_limit = limits[:render_length_limit]
|
@render_length_limit = limits[:render_length_limit]
|
||||||
@render_score_limit = limits[:render_score_limit]
|
@render_score_limit = limits[:render_score_limit]
|
||||||
@assign_score_limit = limits[:assign_score_limit]
|
@assign_score_limit = limits[:assign_score_limit]
|
||||||
|
reset
|
||||||
# render_length is assigned by BlockBody
|
|
||||||
@render_score = 0
|
|
||||||
@assign_score = 0
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def reached?
|
def reached?
|
||||||
@@ -18,5 +15,9 @@ module Liquid
|
|||||||
(@render_score_limit && @render_score > @render_score_limit ) ||
|
(@render_score_limit && @render_score > @render_score_limit ) ||
|
||||||
(@assign_score_limit && @assign_score > @assign_score_limit )
|
(@assign_score_limit && @assign_score > @assign_score_limit )
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def reset
|
||||||
|
@render_length = @render_score = @assign_score = 0
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -205,6 +205,9 @@ module Liquid
|
|||||||
context.add_filters(args.pop)
|
context.add_filters(args.pop)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Retrying a render resets resource usage
|
||||||
|
context.resource_limits.reset
|
||||||
|
|
||||||
begin
|
begin
|
||||||
# render the nodelist.
|
# render the nodelist.
|
||||||
# for performance reasons we get an array back here. join will make a string out of it.
|
# for performance reasons we get an array back here. join will make a string out of it.
|
||||||
|
|||||||
Reference in New Issue
Block a user