If you get a 404 that means that you're not correctly routing WebSockets to Daphne - you'll need to work out what's wrong with your server configuration (I can't help there unfortunately) and fix that. Actual WebSocket errors will appear differently (they have their own error codes and would show in the console differently)
Andrew
On Sat, Oct 7, 2017 at 3:51 PM, Samuel Muiruri <muiruri.samuel@gmail.com> wrote:
--I have a websockets that's supposed to return data from a background process running in celery, full detailsHave a django project with django-channels (using redis) allows users to start background process and should get back a live feed of this on the page.
Here's a recording of this: https://youtu.be/
eKUw5QyqRcs Websockets disconnects with a 404.
Here's the websocket's code:
$('.test-parse').unbind().clic
k (function() { ... $.ajax({ url: "/start-render-part", type: "POST", dataType: 'json', beforeSend: function(xhr, settings) { if (!csrfSafeMethod(settings.type) && sameOrigin(settings.url)) { // Send the token to same-origin, relative URLs only. // Send the token only if the method warrants CSRF protection // Using the CSRFToken value acquired earlier xhr.setRequestHeader("X-CSRFToken" , csrftoken); } }, data: JSON.stringify(data), success: function(response){ if (response['status'] == 'ok') { if (response['unique-id']) { unique_processing_id = response['unique-id']; } if (response['task_id']) { task_id = response['task_id']; } var add_to_group_msg = JSON.stringify({ 'unique_processing_id': unique_processing_id, 'task_id': task_id, 'command': 'add_to_group', }); var socket = new WebSocket("ws://{HOST}/render-part/" .replace('{HOST}', window.location.host)); socket.onopen = function() { console.log('opened'); var add_to_group_msg = JSON.stringify({ 'unique_processing_id': unique_processing_id, 'task_id': task_id, 'command': 'add_to_group', }); socket.send(add_to_group_msg); var get_status_msg = JSON.stringify({ 'task_id': task_id, 'unique_processing_id': unique_processing_id, 'command': 'check_status', }); socket.send(get_status_msg); }; socket.onmessage = function(event) { console.log("onmessage. Data: " + event.data); var data = JSON.parse(event.data); if (data.state == 'PROGRESS') { console.log(data.status); update_progress(data.current); } else if (data.state == 'FINISHED') { var remove_from_group_msg = JSON.stringify({ 'unique_processing_id': unique_processing_id, 'command': 'remove_from_group', }); socket.send(remove_from_group_msg ); unique_processing_id = ''; task_id = ''; } }; socket.onclose = function(event) { if (event.wasClean) { alert('Connection closed'); } else { console.log('Connection terminated'); } console.log('Code: ' + event.code + ' reason: ' + event.reason); console.log(event); }; socket.onerror = function(error) { console.log("Error " + error.message); }; // Call onopen directly if socket is already open if (socket.readyState == WebSocket.OPEN) { socket.onopen(); } //End Sockets Code } //End for if rensponse['status'] == 'ok' }, error: function(xhr){ }, }); /* End Ajax Call */ });possibly note worthy on local version the websockets get's to
onopen
which I confirm thanks to the console output.--Best Regards,Samuel Muiruri.Web Designer
| +254 738 940064
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/ .CAJZFZXoOPTR4zfgA174m2_-s% 3DJoFW9AW9q-Q7T1H59NtmkbQkQ% 40mail.gmail.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/CAFwN1up36MKrH4y0sZVvj3C5E_LHPygGK_2W-BLYEXieXf%3DCSw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
No comments:
Post a Comment