Articles of locking

¿Es posible bloquear el archivo sqlite en el sistema de archivos NFS?

Digamos que hay dos scripts de Python que desean escribir datos en la misma tabla que se almacena en un archivo SQLite usando el módulo sqlite3 . El archivo SQLite se almacena en un sistema de archivos NFS. En el SQLite-FAQ leo: SQLite utiliza lockings de lectura / escritura para controlar el acceso a la […]

enviando una solicitud HTTP POST sin locking

Tengo dos sitios web en php y python. Cuando un usuario envía una solicitud al servidor, necesito php / python para enviar una solicitud HTTP POST a un servidor remoto. Quiero responder al usuario inmediatamente sin esperar una respuesta del servidor remoto. ¿Es posible continuar ejecutando un script php / python después de enviar una […]

¿Se puede configurar SQLAlchemy para que no sea de locking?

Tengo la impresión de que las llamadas a la base de datos a través de SQLAlchemy se bloquearán y no son adecuadas para su uso en otro que no sea un código síncrono. ¿Estoy en lo correcto (espero que no lo esté) o hay alguna forma de configurarlo para que no se bloquee?

Comprensión del multiprocesamiento: administración de memoria compartida, lockings y colas en Python

El multiprocesamiento es una herramienta poderosa en Python, y quiero entenderlo más a fondo. Quiero saber cuándo usar los lockings y colas regulares y cuándo usar un administrador de multiprocesamiento para compartirlos entre todos los procesos. Se me ocurrieron los siguientes escenarios de prueba con cuatro condiciones diferentes para multiprocesamiento: Usando un pool y NO […]

¿Cómo usar QThread correctamente en pyqt con moveToThread ()?

Leí este artículo Cómo realmente, usar realmente QThreads; La Explicación completa , dice en lugar de la subclase qthread, y vuelve a implementar run (), se debe usar moveToThread para empujar un QObject en la instancia de QThread usando moveToThread (QThread *) Aquí está el ejemplo de c ++, pero no sé cómo convertirlo en […]

Condiciones de carrera en Django.

Aquí hay un ejemplo simple de una vista de django con una condición potencial de carrera: # myapp/views.py from django.contrib.auth.models import User from my_libs import calculate_points def add_points(request): user = request.user user.points += calculate_points(user) user.save() La condición de carrera debe ser bastante obvia: un usuario puede realizar esta solicitud dos veces, y la aplicación podría […]

¿Usando matraz y tornado juntos?

Soy un gran fan de Flask , en parte porque es simple y en parte porque tiene muchas extensiones . Sin embargo, Flask está destinado a ser utilizado en un entorno WSGI, y WSGI no es un no locking, por lo que (creo) no se escala tan bien como Tornado para ciertos tipos de aplicaciones. […]

Python socket.accept sin locking?

¿Hay alguna forma en que pueda usar el socket.accept () de python de forma no bloqueante que simplemente lo ejecute y me permita verificar si tiene alguna conexión nueva? Realmente no quiero usar hilos. Gracias.

PySerial sin locking de lectura

Estoy leyendo datos en serie como este: connected = False port = ‘COM4’ baud = 9600 ser = serial.Serial(port, baud, timeout=0) while not connected: #serin = ser.read() connected = True while True: print(“test”) reading = ser.readline().decode() El problema es que evita que se ejecute cualquier otra cosa, incluido el framework web de bottle py. Agregar […]

¿Qué devuelve socket.recv () de Python para sockets no bloqueantes si no se reciben datos hasta que se agote el tiempo de espera?

Básicamente, he leído en varios lugares que socket.recv() devolverá lo que pueda leer, o una cadena vacía que indica que el otro lado se ha cerrado (los documentos oficiales ni siquiera mencionan lo que devuelve cuando se realiza la conexión apagar … genial!). Todo esto está muy bien para bloquear sockets, ya que sabemos que […]