How Product CSV Export Works
Source: products_controller.rb:165-187
- Product CSV exports are limited to 100,000 records per export; if the limit parameter is 0, it defaults to 100,000 rather than unlimited
- Only one export job is allowed at a time per company -- if an existing export job is still queued with attempts < max_attempts, a new request raises "Request has already been sent"
- Export jobs are queued with a 2-minute delay (run_at = 2.minutes.from_now) using Delayed::Job
- The export is emailed to the user once complete; the delay plus processing time means it can take several minutes to arrive
Support scenarios
- "Why can't I export more than 100,000 products?" → The system enforces a hard cap of 100,000 records per export
- "Why am I getting 'Request has already been sent'?" → A previous export job is still queued; wait for it to complete before requesting another
- "My product export is taking a while to arrive" → Exports are queued with a 2-minute delay before processing begins, plus time to generate and email the file
- "Export didn't work when I clicked it twice" → The second click was rejected because the first export was already queued