poll method

Future<JobStatus> poll()

Implementation

Future<JobStatus> poll() async {
  final lease = _begin();
  try {
    final status = await _pollRaw(lease.handle);
    if (status.state == JobState.failed ||
        status.state == JobState.cancelled ||
        status.state == JobState.taken) {
      _owner.close();
    }
    return status;
  } catch (_) {
    _owner.close();
    rethrow;
  } finally {
    _end(lease);
  }
}