Скрипт Python связывается через веб-сокеты с каналами Django - PullRequest
0 голосов
/ 20 декабря 2018

В поисках некоторых советов или советов.

На моем веб-сервере настроены каналы Django, позволяющие двум пользователям общаться друг с другом с помощью redis и websockets.

Как настроить автономный скрипт на Python, чтобы он мог общаться и принимать команды через сообщения веб-сокетов, отправленные пользователем в Django .

Цель состоит в том, чтобыЭтот автономный скрипт Python управляется через веб-сокеты каналов Django.Скрипт python запускает физический двигатель, поэтому некоторыми примерами функций могут быть Start () и Stop ().

Edit: похоже, я хочу настроить celery для управления скриптом python, но иметь управление каналами djangoприменение сельдерея, когда t для запуска и остановки: https://vincenttide.com/blog/1/django-channels-and-celery-example/

1 Ответ

0 голосов
/ 20 января 2019

Вы можете написать клиент websocket на python, который подключается к вашему серверу.Есть много способов сделать это.Например, вы можете использовать библиотеку websocket

Пример кода может выглядеть следующим образом:

#!/usr/bin/env python

import asyncio
import websockets

ws_url = "ws://domain_of_your_server:8000/ws/"

async def command_receiver():
    async with websockets.connect(ws_url) as websocket:
        while True:
            message = await websocket.recv()
            await websocket.send("Received the command '{message}'")
            if message == "start":
                # run the start command
                ...
            elif message == "stop":
                # run the stop command
                ...
            else:
                await websocket.send("Unknown command")     


asyncio.get_event_loop().run_until_complete(command_receiver())
...