lib/harvest.js
/**
   * @method request
   * @description request a new harvest.  if a harvest is already queued or
   * in progress, this will be ignored
   * 
   * @param {String} user user id 
   * @returns {Promise} resolves to Boolean
   */
@method request
@description request a new harvest.  if a harvest is already queued or
in progress, this will be ignored

@param {String} user user id
@returns {Promise} resolves to Boolean
@method request @description request a new harvest . if a harvest is already queued or in progress this will be ignored @param { String } user user id @returns { Promise } resolves to Boolean
async request(user) {
    let state = await this.state(user);
    if( state ) return false;
    await redis.client.set(config.redis.prefixes.harvest+user, 'queued');
    eventBus.emit('user-message', {user, state: 'queued'});
    this.producer.produce({
      topic : config.kafka.topics.harvestQueue,
      value : {user},
    });
    return true;
  }
async request ( user ) { let state = await this . state ( user ) ; if ( state ) return false ; await redis . client . set ( config . redis . prefixes . harvest + user , 'queued' ) ; eventBus . emit ( 'user-message' , { user , state : 'queued' } ) ; this . producer . produce ( { topic : config . kafka . topics . harvestQueue , value : { user } , } ) ; return true ; }
@method request
 @description request a new harvest.
@method request @description request a new harvest .