Patch BigQueryClient to retry on network error (#3088)
Patch BigQueryClient to retry on network error (#3088)

* Patch BQClient to retry on network error

At the moment sometimes long jobs can cause the BigQueryClient to
timeout since the connection is created at initialisation of the target.

This patch retries by re-creating the client object if it fails (up to a
retry limit), so that the client will not be timed out when calling
`complete()` on the BigQueryTarget after a long job.

* Switch BQ retry to use tenacity decorator

Note the use of the after lambda function to re-create the client if the
connection fails

* Fix indentation

Co-authored-by: James McMurray <c12fc32344d124e8a042a326fe39b955c59bb1e9@spotify.com>
Co-authored-by: Dillon Stadther <e4676899097b002b8d809044037857703176db8a@gmail.com>
spotify/luigi,dlstadther/luigi,dlstadther/luigi,riga/luigi,riga/luigi,riga/luigi,dlstadther/luigi,spotify/luigi,spotify/luigi,spotify/luigi,dlstadther/luigi,riga/luigi