poll method
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);
}
}