Workaround sometimes FluentGem.list fail

This commit is contained in:
uu59 2015-02-04 10:54:15 +09:00
parent fa8ea89162
commit 1eac4a464a

View File

@ -17,8 +17,11 @@ module FluentGem
# but long living caching causes mismatch with actual status e.g. user install plugin from console (without fluentd-ui)
# So our decision is that cache `gem list` in 3 seconds
Rails.cache.fetch(LIST_CACHE_KEY, expires_in: 3.seconds) do
last_status = $?
output = `#{gem} list 2>&1`
if $? && $?.exitstatus != 0 # NOTE: $? will be nil on CircleCI, so check $? at first
# https://github.com/fluent/fluentd-ui/pull/149#issuecomment-71954588
# Sometimes, $? wouldn't override with `#{gem} list` but I don't know why..
if $? && last_status != $? && $?.exitstatus != 0 # NOTE: $? will be nil on CircleCI, so check $? at first
raise GemError, "failed command: `#{gem} list` output: #{output}"
end
output.lines.to_a