Articles of cola de

Scapy sniff () en una clase sin subprocesos threading.Thread ()

Tengo un problema extraño con la función Scapy sniff (). Así es como se ve mi clase: from scapy.all import * import sys import datetime import Queue from threading import Thread class packet_sniffer(Thread): def __init__(self,pass_queue): super(packet_sniffer,self).__init__() print ‘Packet sniffer started’ self.queue=pass_queue self.device_dict={} self.not_an_ap={} def PacketHandler(self,pkt): if pkt.haslayer(Dot11): sig_str = -(256-ord(pkt.notdecoded[-4:-3])) mac_addr=”” ssid=”” try: mac_addr=pkt.addr2 ssid=pkt.info […]

Cómo usar la prioridad en el apio task.apply_async

Tengo una cola de test en el apio y he definido una tarea para ello: @celery_app.task(queue=’test’, ignore_result=True) def priority_test(priority): print(priority) que acaba de imprimir el argumento. Quiero establecer el atributo de priority que se define aquí para appy_async . Por lo tanto, escribí un for loop como este: for i in range(100): priority_test.apply_async((i%10,), queue=”test”, priority=i%10) […]

Enhebrado / Cola en Python

Tengo la intención de usar subprocesos / colas con python 2.5.2 Pero parece que python se congela en el comando queue.join () -. La salida del siguiente código es solo: ANTES import Queue import threading queue = Queue.Queue() class ThreadUrl(threading.Thread): def __init__(self, queue): threading.Thread.__init__(self) self.queue = queue def run(self): while True: i = self.queue.get() print […]

sincronización a través de múltiples procesos en Python

Tengo una aplicación de Python que genera un proceso separado para hacer un poco de trabajo (me encontré con problemas de rendimiento utilizando subprocesos debido a la GIL (locking de intérprete global)). Ahora, ¿cuáles son mis métodos en Python para sincronizar los recursos compartidos entre los procesos? Muevo los datos a una cola y un […]

Poner varios elementos en una cola de python

Supongamos que tiene items iterables items contienen elementos que deben ponerse en una cola q . Por supuesto que puedes hacerlo así: for i in items: q.put(i) Pero se siente innecesario escribir esto en dos líneas: ¿se supone que eso es pythonico? ¿No hay manera de hacer algo más legible? q.put(*items)

examinando elementos en una cola de python

¿Es posible examinar elementos en una Queue en Python sin llamar a .get() ? Según los documentos, la indexación no está permitida en la cola. Necesito comprobar si el elemento al principio de la cola cumple con alguna condición y, si lo hace, eliminarlo de la cola. De manera similar, necesito verificar si algún otro […]

¿Cómo obtener los resultados de un conjunto de hilos en python?

He buscado aquí sobre cómo hacer threading en python, pero por mucho no he podido obtener la respuesta que necesito. No estoy muy familiarizado con las clases de Python Queue y Threading y por esa razón algunas de las respuestas aquí presentes no tienen ningún sentido para mí. Quiero crear un grupo de subprocesos que […]

Uso de un administrador para actualizar una cola en un multiproceso de Python

Estoy diseñando un código multiprocesamiento de Python para trabajar en una cola que podría actualizarse a lo largo del procesamiento. El siguiente código a veces funciona, o se atasca, o aparece un error Vacío. import multiprocessing as mp def worker(working_queue, output_queue): while True: if working_queue.empty() is True: break else: picked = working_queue.get_nowait() if picked % […]

¿Cuál es la forma correcta de manejar (en python) IOError: Llamada de sistema interrumpida, generada por multiprocessing.Queue.get

Cuando uso multiprocessing.Queue.get, a veces recibo una excepción debido a EINTR. Sé definitivamente que a veces esto sucede sin una buena razón (abro otro panel en un buffr tmux), y en ese caso me gustaría continuar trabajando y volver a intentar la operación. Puedo imaginar que, en algunos otros casos, el error se deba a […]

Cómo implementar una cola FIFO que admite espacios de nombres

Estoy utilizando el siguiente enfoque para manejar una cola FIFO basada en db.Model de Google App Engine ( consulte esta pregunta ). from google.appengine.ext import db from google.appengine.ext import webapp from google.appengine.ext.webapp import run_wsgi_app class QueueItem(db.Model): created = db.DateTimeProperty(required=True, auto_now_add=True) data = db.BlobProperty(required=True) @staticmethod def push(data): “””Add a new queue item.””” return QueueItem(data=data).put() @staticmethod def […]