Articles of concurrencia

¿Qué parte de asyncio es concurrente? Quisiera detalles de implementación

La descripción del módulo asyncio es: Este módulo proporciona infraestructura para escribir código concurrente de un solo subproceso utilizando corrutinas, multiplexación de acceso de E / S a través de sockets y otros recursos, ejecutando clientes y servidores de red, y otras primitivas relacionadas. He estado leyendo sobre el nuevo y extraordinario módulo / paquete […]

La función de callback apply_async no está siendo llamada

Soy un novato en python, tengo una función que calcula la función para mis datos y luego devuelvo una lista que debe ser procesada y escrita en el archivo. Estoy usando Pool para hacer el cálculo y luego uso la función de callback escriba en el archivo, sin embargo, la función de callback no está […]

¿La cantidad de procesos de apio depende de la configuración de –currency?

Estamos ejecutando Celery detrás de Supervisor y comenzamos con celeryd –events –loglevel=INFO –concurrency=2 Sin embargo, esto crea un gráfico de proceso que tiene hasta tres capas de profundidad y contiene hasta 7 procesos de apio (el Supervisor genera un apio, que genera varios otros, que nuevamente genera procesos). Nuestra máquina tiene dos núcleos de CPU. […]

Mala optimización de locking en asyncio

Actualización: Título editado para centrarse en el problema principal. Ver mi respuesta para la actualización completa. En el siguiente código, a() y b() son idénticos. Cada uno de ellos cuenta de 0 a 9 simultáneamente, mientras que adquiere y produce un locking cada 2 puntos. import asyncio lock = asyncio.Lock() def a (): yield from […]

Serialización de Sqlite3 en Python

Para utilizar completamente la concurrencia, SQLite3 permite que los subprocesos accedan a la misma conexión de tres maneras: De un solo hilo En este modo, todos los mutexes están desactivados y SQLite no es seguro para usar en más de un solo hilo a la vez. Multihilo. En este modo, SQLite puede ser utilizado de […]

Rendimiento de coroutine vs rendimiento de tarea

Guido van Rossum, en su discurso en 2014 en Tulip / Asyncio muestra la diapositiva : Tareas vs coroutines Comparar: res = rendimiento de some_coroutine (…) res = rendimiento de la tarea (some_coroutine (…)) La tarea puede avanzar sin esperarla. Como registro mientras esperas algo más. es decir, el rendimiento de Y estoy perdiendo completamente […]

Python y multicores sin stack?

Entonces, estoy jugando con Stackless Python y surgió una pregunta en mi cabeza, tal vez esto sea un “supuesto” o conocimiento “común”, pero no pude encontrarlo realmente escrito en ningún lugar en el sitio sin stack . ¿ Stackless Python se aprovecha de las CPUs multinúcleo? En Python normal, la GIL está constantemente presente y […]

Control de concurrencia en el modelo Django.

¿Cómo manejo la concurrencia en un modelo de Django? No quiero que los cambios en el registro sean sobrescritos por otro usuario que lea el mismo registro.

¿Cómo paralelizar el método .predict () de un clasificador scikit-learn SVM (SVC)?

Hace poco encontré el requisito de tener una instancia de clasificador SVC scikit-learn entrenada en .fit() y necesito .predict() muchas instancias. ¿Hay alguna forma de paralelizar solo este método .predict() con alguna scikit-learn ? from sklearn import svm data_train = [[0,2,3],[1,2,3],[4,2,3]] targets_train = [0,1,0] clf = svm.SVC(kernel=’rbf’, degree=3, C=10, gamma=0.3, probability=True) clf.fit(data_train, targets_train) # this […]

Django: ¿cómo hacer get_or_create () de una manera segura para subprocesos?

En mi aplicación Django muy a menudo necesito hacer algo similar a get_or_create() . P.ej, El usuario envía una etiqueta. Necesito ver si esa etiqueta ya está en la base de datos. Si no, crea un nuevo registro para ello. Si es así, simplemente actualice el registro existente. Pero buscando en el documento para get_or_create() […]