If you think this is going to take a LONG time to process, risking the browser timing out, then a far more complex but reliable route is:
- DO create a model for your file uploads. All the process does is accept the upload and stick it in a file.
- Create a background process (cron job, etc) that reads in any uploaded files and does the processing, then deletes or marks the file as "processed"
- On error, you can stick a error message in a "processing_errors" TextField, for example.
Downside is that the uploader will not immediately be notified of a successful processsing
YOu could decide to process "in the background" if the file exceeds a certain size.
You could also decide to record who uploaded the file, then on completion or error, email the user with the appropriate message.