runJob :: Job -> IO Bool
runJob j =
  catch (lastfm' j >> return True) (return . badJob)
 where
  badJob :: C.HttpException -> Bool
  badJob (C.StatusCodeException s _ _) = C.statusIsClientError s
  badJob (C.ResponseTimeout) = False
  badJob _ = True
runJob :: Job -> IO Bool
runJob j =
  catch (lastfm' j >> return True) (return . badJob)
 where
  badJob :: C.HttpException -> Bool
  badJob (C.StatusCodeException s _ _) = C.statusIsClientError s
  badJob (C.ResponseTimeout) = False
  badJob _ = True
runJob j =
  catch (lastfm' j >> return True) (return . badJob)
 where
  badJob :: C.HttpException -> Bool
  badJob (C.StatusCodeException s _ _) = C.statusIsClientError s
  badJob (C.ResponseTimeout) = False
  badJob _ = True