Agendadores y Workers ============================= Los agendadores son clases que se ejecutan en un Hilo aparte para no bloquear el hilo que maneja la interfaz, tiene una lista de documentos que deben procesar, por cada archivo crean una instancia de un worker para procesar el documento. Hacen uso de semáforos para identificar la cantidad de workers en ejecución. * ``PreviewScheduler`` hace uso de ``PreviewWorker``. * ``SignerScheduler`` hace uso de ``SignerWorker``. * ``ValidateScheduler` hace uso de ``ValidationWorker``. Si bien no existe una interfaz que determine los métodos requeridos para un worker, todos tiene los siguientes métodos 1. ``addDocument(Document document)``: Agrega un documento a la cola y libera un semáforo. 2. ``addDocuments(List documents)``: Agrega todos los documentos de la lista entrante en la cola y libera un semáforo. 3. ``done()``: Es llamado cuando un worker termina su tarea.