Buscando uno o dos módulos relacionados con el bloqueo y la programación de actualizaciones

Algunas personas van a pensar que esto es demasiado trivial para buscar módulos o quizás casi ponerlo en una categoría de LeftPad, pero hay tantas cosas en npm que tengo la sensación de que estos dos requisitos están cubiertos y por eso estoy interesado en ver lo que otras personas haber hecho.

Heredé este código base que tiene este tipo de función de actualización larga con una serie de pasos. Tiene una especie de indicador de bloqueo personalizado que está medio configurado para caducar, pero en realidad no tiene el código de caducidad. De todos modos, lo principal es evitar que la actualización suceda mientras sucede otra cosa. Excepto que a veces sabemos que definitivamente necesitamos actualizar lo antes posible, pero no justo en medio de una actualización actual. Este material no está funcionando del todo.

Así que estoy buscando uno o dos módulos para hacer dos cosas:

  1. un bloqueo con una caducidad que dos funciones diferentes de ejecución prolongada (que llaman a otras funciones con devoluciones de llamada) pueden usar para asegurarse de que no se pisan entre sí

  2. un módulo/función simple que dice 'haga esta función ahora, o ejecútela nuevamente después de que finalice su ejecución actual'.

O posiblemente algo que maneje ambos podría tener sentido en este caso, aunque de mi descripción puede no ser obvio qué tienen que ver entre sí.

La caducidad es si hay algún caso que no anticipo que provoque que no se quite el candado, no queremos quedarnos atascados para siempre.

¿ Qué es npm ? por favor edite

Respuestas (1)

Esto es lo que decidí que tenía que hacer: creé un módulo realmente simple de vez en cuando y estoy usando el bloqueo de bloqueo existente con su función maxPending en lugar de un tiempo de vencimiento.

La forma en que estoy usando esos dos módulos es idéntica a los ejemplos en los LÉAME.