async obtainLock() {
    const timestamp = +new Date();
    let setResult = await this._redis.setnx(this._lock_key, timestamp);
    if (!setResult) {
      // it already held a value - failed locking
      return false;
    }

    // success - got lock
    await this._redis.expire(this._lock_key, 5 * 60);
    // lock expires in 5 mins just for any case
    return true;
  }
Tries to obtain lock in single-threaded Redis.
Returns TRUE if success.

@returns {Promise<boolean>}