Problem With Django Channels in Production

midhun98HOBBY

8 months ago

Hi all. I'm finding an issue with django channels in production. I'm running my django using docker. Everything works fine locally with environment variables set those same as production. But in production im getting the error --- Not Found: /ws/restaurant/11/orders/
I dont get this error locally even though im connected those of railway

0 Replies

midhun98HOBBY

8 months ago

05ab52eb-b35d-4e9b-8c08-a46da8c240ac


8 months ago

when you develop locally what command do you use to start your app


midhun98HOBBY

8 months ago

python manage.py runserver localhost:8000


midhun98HOBBY

8 months ago

this is my docker for prod

1283446687704158200


8 months ago

gotcha, that is s dev server and it supports websockets, in production you are using gunicorn that doesnt support websockets


midhun98HOBBY

8 months ago

so what am i supposed to do can u pls help


8 months ago

you need to run it with a uvicorn worker instead of gunicorn's sync workers


midhun98HOBBY

8 months ago

so should i modify my dockerfile or do some changes in railway itself ?


8 months ago

you need to do a few things -

  • set this as your CMD line in your dockerfile - CMD ["gunicorn", "cravingConnect.asgi", "-k", "uvicorn.workers.UvicornWorker"]

  • add uvicorn to your requirements.txt file - uvicorn==0.30.6

  • remove your start command from your service settings.


8 months ago

have you made the changes from point 1 & 2?


midhun98HOBBY

8 months ago

yes



8 months ago

okay do a ctrl / cmd + k -> deploy latest commit


8 months ago

you need gunicorn in your requirements.txt file too


midhun98HOBBY

8 months ago

ok


midhun98HOBBY

8 months ago

i mean i did the 3rd step also but still getting err

1283452124767977500


midhun98HOBBY

8 months ago

yes it worked thanks a lot


8 months ago

no problem!


midhun98HOBBY

8 months ago

pip install uvicorn[standard]

had to install this also


8 months ago

sounds good


midhun98HOBBY

8 months ago

https://medium.com/@midhunskani/django-channels-with-redis-deployment-on-railway-app-860e6d657d2a

I have written a blog on deploying to railway.app based on the changes. Hope this would be helpful to others facing the same issue.


8 months ago

awsome, very cool!


Problem With Django Channels in Production - Railway Help Station