No description
Find a file
Graham McIntire 2efb35dc48
Stop scrape chain from dying on a single bad product
A scraped product with nil price_per_round_cents made Prices.create_snapshot
return {:error, changeset}, which blew up the {:ok, _} match in the runner,
crashed the whole perform, and after 3 retries discarded the job. Nothing
reseeds the chain once the job is discarded, so prod scrapes silently died
on Mar 17 and stayed dead until the app was restarted.

- Runner handles snapshot insert errors by logging and continuing instead
  of raising.
- ScrapeJob wraps each Runner.run in try/rescue so one retailer crashing
  doesn't take down the whole cycle.
- ScrapeJob moves schedule_next into an after block so the chain is always
  reseeded, even if the scrape loop crashes.
2026-04-22 15:51:15 -05:00
assets Update dependencies 2026-04-22 15:28:07 -05:00
config Switch to self-scheduling scrapes with longer intervals 2026-03-12 13:26:46 -05:00
lib Stop scrape chain from dying on a single bad product 2026-04-22 15:51:15 -05:00
priv Separate 5.56x45 NATO and .223 Remington into distinct calibers 2026-03-12 12:27:59 -05:00
rel/overlays/bin Fix executable permissions on release scripts 2026-03-12 07:55:19 -05:00
test Stop scrape chain from dying on a single bad product 2026-04-22 15:51:15 -05:00
.dockerignore Add Dokku deployment configuration 2026-03-11 16:51:44 -05:00
.formatter.exs Initial implementation of ammo price tracker 2026-03-11 15:58:12 -05:00
.gitignore Initial implementation of ammo price tracker 2026-03-11 15:58:12 -05:00
.tool-versions Add Dokku deployment configuration 2026-03-11 16:51:44 -05:00
AGENTS.md Initial implementation of ammo price tracker 2026-03-11 15:58:12 -05:00
app.json Add Dokku deployment configuration 2026-03-11 16:51:44 -05:00
CLAUDE.md Add credo with --strict mode and fix all issues 2026-03-12 13:35:12 -05:00
Dockerfile Add Dokku deployment configuration 2026-03-11 16:51:44 -05:00
mix.exs Add credo with --strict mode and fix all issues 2026-03-12 13:35:12 -05:00
mix.lock Update dependencies 2026-04-22 15:28:07 -05:00
Procfile Add Dokku deployment configuration 2026-03-11 16:51:44 -05:00
README.md Initial implementation of ammo price tracker 2026-03-11 15:58:12 -05:00

Ammoprices

To start your Phoenix server:

  • Run mix setup to install and setup dependencies
  • Start Phoenix endpoint with mix phx.server or inside IEx with iex -S mix phx.server

Now you can visit localhost:4000 from your browser.

Ready to run in production? Please check our deployment guides.

Learn more