When a product no longer appears in a successful scrape for its retailer+caliber, mark it out of stock. After each scrape cycle, hard delete any product whose last_seen_at is older than 30 days (snapshots cascade via FK). A zero-result scrape leaves existing listings alone so a parse failure or transient site glitch can't nuke the catalog. |
||
|---|---|---|
| .. | ||
| catalog | ||
| prices | ||
| scraping | ||
| application.ex | ||
| catalog.ex | ||
| mailer.ex | ||
| prices.ex | ||
| release.ex | ||
| repo.ex | ||