node package manager
Loosely couple your services. Use Orgs to version and reuse your code. Create a free org »

syncer-sdk

syncer-sdk

Guía de uso

  1. Instanciar un JobBuilder
  2. Configurar el generatorProducts del que se van a obtener los partialProducts. (es una función que devuelve una Promise que contiene un Stream)
  3. Configurar la estrategia de persistencia entre las disponibles.
  4. Configurar los datos de acceso a la syncerApi (endpoint, accessToken)
  5. Se pide una instancia del job.
  6. Se ejecuta el job.
JobBuilder = require "syncer-sdk/jobBuilder"
 
job = new JobBuilder()
  .withPersistenceStrategy getPersistence()
  .withGeneratorProducts -> Promise.resolve getStream()
  .withConfig
    endpointSyncerApi: "ENDPOINT"
    accessToken: "ACCESS_TOKEN"
  .withSynchronization
    _id: SYNCHRONIZATION_ID
    createIfItDoesntExist: aBoolean
  .build()
 
job.run()

Extras

Listeners

Se pueden configurar listeners al job.

Los eventos que genera el job son los siguientes:

  • sync_start: Cuando inicia la sincronización.
  • sync_recv_new_product: Cuando se procesa un producto nuevo.
  • sync_changed_product: Cuando un producto cambio en la cache.
  • sync_discontinued_product: Cuando un producto fue discontinuado.
  • sync_parse_fail: Cuando fallo el parseo de un elemento.
  • sync_done: Cuando finalizo correctamente la sincronización.
  • sync_fail: Cuando fallo la sincronización porque el generator no pudo obtener los products.
  • sync_end: Cuando finalizo la sincronización.

Ya existen algunos listeners expuestos en la sdk.

  • SummaryTracker: Sumariza el resultado de la ejecución del job.
  • Logger: Hace logging de ciertos eventos.

Los listeners se agregan en el builder con el método withListener:

job.withListener(new SomeListener)