Handling temporary generated image/graphs

Hi,

I have an application where I based on users selections generate a
dataset for them to download and a graph describing this data. The
graph is made with gnuplot and work really well - no problems :slight_smile:

But I save the graph to a file say "graph.png" in the public/images
dir and use it in the view. I have a strong felling that when more
than one user is generating graphs I will have a problem, since
they'll keep overwriting the same graph again and again.

I realize that I could add some sort of session id or time stamp to
the image, but I don't want to fill my server with abandoned images
and the users are not likely to request the same image/graph again any
time soon.

Is there any concept like a temp store where all files more than 5
mins (or 1 day, don't matter :slight_smile: old are deleted, or a round robin
scheme where abandoned filenames get recyled.

Have I missed some vital function, - or is it just a matter of a cron
job to clean up after a hard days job?

regards
Jan

Hi,

I have an application where I based on users selections generate a
dataset for them to download and a graph describing this data. The
graph is made with gnuplot and work really well - no problems :slight_smile:

But I save the graph to a file say "graph.png" in the public/images
dir and use it in the view. I have a strong felling that when more
than one user is generating graphs I will have a problem, since
they'll keep overwriting the same graph again and again.

I realize that I could add some sort of session id or time stamp to
the image, but I don't want to fill my server with abandoned images
and the users are not likely to request the same image/graph again any
time soon.

Is there any concept like a temp store where all files more than 5
mins (or 1 day, don't matter :slight_smile: old are deleted, or a round robin
scheme where abandoned filenames get recyled.

Have I missed some vital function, - or is it just a matter of a cron
job to clean up after a hard days job?

Probably easiest to have cron do it. Make sure the filenames are unique -- combo of user's login and a timestamp say, then have your cron job use 'find' to find old files and delete them. Run it every hour or whenever necessary.