Sunday, May 27, 2018

Re: Django channels with python background tasks

HI Ryan,

The back-end script in this case is not only doing telnet. Its getting data from multiple network elements using telnet and multi-threading. There are multiple threads started when I start the backend script which takes monitoring data from diff-diff network elements at the same time. The communication between the threads is happening using a python Sockets. A TCP server is responsible to pass the messages between threads. So I have to have this background program run to collect data.

The control from django I want is, to be able to start multiple instance of this whole back-end package when user clicks on such cluster in django front end. Passing management IP and other relevant information from django DB. and after starting particular instance django should be able to control it.

What I found out from recent googling and stuff is. I need to write some APIs in back-end program and as Andrew suggested it needs to be written in such a way that it can be polled via django.
So where to start in this regard? can you please guide me for that.

Thanks in advance!

Regards,
Jaiswal.

On Saturday, May 26, 2018 at 8:15:28 PM UTC+5:30, Ryan Nowakowski wrote:
Another idea: create a Django management command that does the telnet stuff and just run that periodically via Cron. You can always move to channels or celery later.

On May 26, 2018 9:33:16 AM CDT, Ryan Nowakowski <tub...@fattuba.com> wrote:
In addition to websockets, channels can be used to run background tasks that could take a long time for example a telnet connection. You can Google Django channels background tasks.

An alternative to channels for background tasks is celery.

On May 26, 2018 5:03:51 AM CDT, Andrew Godwin <and...@aeracode.org> wrote:
Hi Jaiswal,

I'm afraid that I can't give detailed help about what your best options are or walk you through how to do it - that's something you'll have to research and decide on yourself. Channels allows you to do low-latency communictation between Django back-ends and JavaScript, but anything you can do with it can also be done slower using a polling API connection.

My recommendation would be to start simple - doing it using an API that you poll every few seconds - and then once you have that figured out, look at how you could improve it using WebSockets and channels.

Andrew

On Sat, May 26, 2018 at 8:38 AM Sourabh Jaiswal <sourabhj...@gmail.com> wrote:

Hi,


I am writing a python based application(CLI Back End) which does telnet to some network components and gets some data. It saves the data in sqlite db.


For this application I am writing Django based frond end. Which will start the CLI app and monitor it. For communication between the CLI App and django I am not able to decide what to use. I read somewhere on net that django channels can be used in this problem.


I have no idea about what django channel is and what it does. Can some one please help me in this I need to come up with a tool for this CLI and django communication ASAP.



Thanks in advance!

Regards, Jaiswal.

--
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...@googlegroups.com.
To post to this group, send email to django...@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/2d704873-07cf-41d7-a747-0beb9ac85cfa%40googlegroups.com.
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+unsubscribe@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/cbbf6a44-125e-4a0c-a220-8c025a05a00c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment