Skip to content

Commit ad7dfbd

Browse files
committed
fix: improve error logging and handling in try_generate_image function for puppeteer command execution
1 parent 3ecf485 commit ad7dfbd

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

lib/algora/screenshot_queue.ex

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,15 +74,18 @@ defmodule Algora.ScreenshotQueue do
7474
defp try_generate_image(url, opts, attempts_left) when attempts_left > 0 do
7575
puppeteer_path = Path.join([:code.priv_dir(:algora), "puppeteer", "puppeteer-img.js"])
7676

77-
case System.cmd("node", [puppeteer_path] ++ build_opts(url, opts)) do
78-
{_, 127} ->
79-
{:error, :invalid_exec_path}
77+
Logger.info("Running puppeteer command: #{Enum.join([puppeteer_path] ++ build_opts(url, opts), " ")}")
8078

79+
case System.cmd("node", [puppeteer_path] ++ build_opts(url, opts)) do
8180
{cmd_response, 0} ->
8281
{:ok, cmd_response}
8382

84-
_ ->
85-
Logger.warning("Puppeteer command failed, attempts left: #{attempts_left - 1}")
83+
{_, 127} = res ->
84+
Logger.warning("Puppeteer command failed with #{inspect(res)}")
85+
{:error, :invalid_exec_path}
86+
87+
res ->
88+
Logger.warning("Puppeteer command failed with #{inspect(res)}, attempts left: #{attempts_left - 1}")
8689
try_generate_image(url, opts, attempts_left - 1)
8790
end
8891
rescue
@@ -91,12 +94,17 @@ defmodule Algora.ScreenshotQueue do
9194

9295
case error do
9396
:enoent ->
97+
Logger.warning("Puppeteer command failed with :enoent")
9498
{:error, :invalid_exec_path}
9599

96100
_ ->
97101
Logger.warning("Puppeteer command failed with #{inspect(error)}, attempts left: #{attempts_left - 1}")
98102
try_generate_image(url, opts, attempts_left - 1)
99103
end
104+
105+
error ->
106+
Logger.warning("Puppeteer command failed with #{inspect(error)}, attempts left: #{attempts_left - 1}")
107+
try_generate_image(url, opts, attempts_left - 1)
100108
end
101109

102110
defp try_generate_image(_url, _opts, 0) do

0 commit comments

Comments
 (0)