Uploading Files For Processing

I need to add the ability for users to upload a file which contains
scheduling information in the form of a CSV or equivalent. I need to
process the data in the file and then send out notifications based on
the
data in the file at a future time. I am thinking of two possible ways of
doing this and wanted to see what people suggest.

  1. User uploads file and the contents are processed at that point with
    the
    needed information being extracted and stored in the DB. File is deleted
    after being processed. Then, when the time comes, the service acts based
    on
    the information in the DB.

  2. User uploads file and no processing is done at this time. Then, when
    the
    time comes, the file is processed and the service acts on that
    information
    as the data is processed. Once done, file is deleted. Nothing is added
    to
    the DB.

I have not done anything like this and wanted to see if any had advice
on
either of these.

Also, carrierwave is the way to go for uploading files?

Thanks.

On 12 February 2013 22:22, tekram [email protected] wrote:

  1. User uploads file and no processing is done at this time. Then, when the
    time comes, the file is processed and the service acts on that information
    as the data is processed. Once done, file is deleted. Nothing is added to
    the DB.

1 has the disadvantage that there is more work to do before the
response is sent to the user so it will slow down the response. Does
it have any advantages over 2?

I have not done anything like this and wanted to see if any had advice on
either of these.

Also, carrierwave is the way to go for uploading files?

Paperclip seems to be popular for this, but I cannot comment personally.

Colin

I guess the advantage of the first would be is that I do not have to
really
store the file and can just delete it after I am done with it. perhaps,
I
can use a background process to do it so that the response is not that
slow.

I had assumed CarrierWave is more widely used now?