pushTask = task =>
  new Promise((resolve, reject) => {
    getQueue(task.limit)
      .push(task)
      .on(`finish`, task => {
        resolve(task)
      })
      .on(`failed`, err => {
        reject(new Error(`failed to process ${task.url}\n${err}`))
      })
  })
pushTask
--
pushes a task in to the Queue and the processing cache

Promisfy a task in queue
@param {CreateRemoteFileNodePayload} task
@return {Promise<Object>}