Hi Andrew,

Thank you for your answer.

To better clarify my need, here is one use case:
1) I would like my server (where Django is) to ping a remote address (let's 
say google.com) every 10 minutes, and put the result (communication ok or 
not) in a Django-generated database.
2) Then I will have a Django view that displays some statistics based on 
this database records. No worries for this point. My question is strictly 
on point 1.

So what I need is my server itself to run code on a regular basis.
Can I simply start a thread in manage.py, like here: 
https://eldarion.com/blog/2013/02/14/entry-point-hook-django-projects/ ?

It seems that Celery and AWS Lambda are external tools that can remotely 
call my Django API.

I hope the example helps.

Thanks again.

Best regards,
Charley


On Monday, October 22, 2018 at 1:10:52 PM UTC-4, Andrew Pinkham wrote:
>
> On Oct 22, 2018, at 12:08, Charley Paulus <charley...@gmail.com 
> <javascript:>> wrote: 
> > After reading the Django tutorial, my understanding (I hope I’m wrong) 
> is that the only way to trigger a function of a Django app is when someone 
> on the client side request the url related to that function. 
>
> That is correct. A view function/object is only called when a site visitor 
> is routed to that callable by the URL configuration. 
>
> > But what if I want the server to run a function indenpendently of a url 
> call, for example: 
> > - every 10 minutes 
> > - when a pre-defined combination of variables become true 
>
> I'm not clear on your second condition, but you are probably interested in 
> Celery for the first. 
>
> http://www.celeryproject.org/ 
> <http://www.google.com/url?q=http%3A%2F%2Fwww.celeryproject.org%2F&sa=D&sntz=1&usg=AFQjCNHFKFryLZKtiOnQPW1ANJ8iUvy_5g>
>  
>
> Alternatively, some clouds provide the ability to run code on a regular 
> basis. If your Django code is not closely coupled with cron job, you could 
> use AWS Lambda. 
>
> https://docs.aws.amazon.com/lambda/latest/dg/with-scheduled-events.html 
>
> If it is tightly coupled and Celery is too powerful for your needs, you 
> could use an AWS Lambda (or Azure Function, etc) to send a request to your 
> Django API on a regular basis. 
>
> Andrew 
> https://jambonsw.com 
> https://django-unleashed.com 
>

-- 
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 https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/73e3ded5-45be-4185-95e5-968ef803c75b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to