Hi again,

What I would do is create a django management command (see
https://docs.djangoproject.com/en/1.8/howto/custom-management-commands/)
and then use cron to call it a regular intervals (5-10 minute intervals for
example).

Another way to do it would be to use celery, which is a delayed job worker
and also a cron scheduler (see http://www.celeryproject.org/). Celery has a
lot of other functions so if you need to use delayed jobs or need to use
jobs that will be fired at intervals, I would recommend using celery,
however there is a lot more to configure using celery.

Regards,

Andréas

2015-10-03 11:26 GMT+02:00 Amarjeet Kapoor <amarjeet.kapo...@gmail.com>:

>
>
> On Saturday, 3 October 2015 02:25:46 UTC+5:30, Andréas Kühne wrote:
>>
>> Hi,
>>
>> I don't think you can reliably do that. Django never knows when the user
>> closes his browser window. Because a session is stateless (there is only a
>> connection to the server when it responds to a request). However you could
>> do this via a bit of ajax or a pretty unreliable javascript event.
>>
>> What I would do is to ping the server via javascript once every minute or
>> so - you then update a timestamp on a session object or the user model or
>> something like that. Then if the timestamp is older than 5 minutes, you can
>> safely delete the temporary files.
>>
>> Another way would be to add an event handler to the onbeforeunload event,
>> see
>> http://stackoverflow.com/questions/20853142/trying-to-detect-browser-close-event.
>> When the event fires, you just fire an ajax call to your server that
>> deletes the files.
>>
>> HOWEVER, I know that this doesn't always fire and can be a bit tricky.
>> But it's worth a shot.
>>
>> Regards,
>>
>> Andréas
>>
>>
>>
>
> I made following assumption that I can do that on the base that their
> where function related to sessions like get_expiry_age(),
> get_expire_at_browser_close() using which I could do what it thought.
>
> What you told I completly understand but what I am not to understand that
> where should I write that background code or how to trigger that function
> automatically when timestamp get older than some min (as you suggested )
> ,which is my basic question for this thread.
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to django-users+unsubscr...@googlegroups.com.
> To post to this group, send email to django-users@googlegroups.com.
> Visit this group at http://groups.google.com/group/django-users.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/7eb1beec-9c7d-4d7f-b53d-525e59493f41%40googlegroups.com
> <https://groups.google.com/d/msgid/django-users/7eb1beec-9c7d-4d7f-b53d-525e59493f41%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CALXYUbmpnvsUebk%3D33%2B6_Zy%2BpSRM-YExyKaBXR3h-Y0Ud%3D12nQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to