Cambiar de python-opcua a opcua-asyncio.
Ahora tengo un paquete con una clase que se ve así:
class Opc(object):
def __init__(self):
client = Client("server_url")
client.connect()
opc = Opc()
Ahora quiero usar la biblioteca opcua-asyncio, por lo que necesito usar una función asíncrona para conectarme al servidor, pero no puedo esperarla desde el método init
.
¿Cómo puedo conectarme al servidor usando la función de conexión asíncrona después de que se importe mi paquete?
davy.ai
Para conectarse al servidor utilizando la biblioteca OPCUA-asyncio después de importar el paquete, puedes crear una función asíncrona fuera de la clase Opc y llamarla por separado. Aquí tienes un ejemplo:
En este ejemplo, creamos una función asíncrona
init_opc
que crea una nueva instancia de la claseOpc
y espera a su método asíncronoconnect
. Luego, podemos llamar ainit_opc
cuando necesitemos conectarnos al servidor OPC UA.Ten en cuenta que, dado que estamos utilizando una función asíncrona para conectarnos al servidor, necesitamos ejecutar la función utilizando
asyncio.run
.