Use async job status monitor for AsyncFirecrawlApp (#1498)

This commit is contained in:
John Bledsoe 2025-04-24 12:28:29 -04:00 committed by GitHub
parent 8b82e11625
commit ca82015bca
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -3022,7 +3022,7 @@ class AsyncFirecrawlApp(FirecrawlApp):
id = response.get('id') id = response.get('id')
except: except:
raise Exception(f'Failed to parse Firecrawl response as JSON.') raise Exception(f'Failed to parse Firecrawl response as JSON.')
return self._monitor_job_status(id, headers, poll_interval) return await self._async_monitor_job_status(id, headers, poll_interval)
else: else:
self._handle_error(response, 'start batch scrape job') self._handle_error(response, 'start batch scrape job')
@ -3259,7 +3259,7 @@ class AsyncFirecrawlApp(FirecrawlApp):
id = response.get('id') id = response.get('id')
except: except:
raise Exception(f'Failed to parse Firecrawl response as JSON.') raise Exception(f'Failed to parse Firecrawl response as JSON.')
return self._monitor_job_status(id, headers, poll_interval) return await self._async_monitor_job_status(id, headers, poll_interval)
else: else:
self._handle_error(response, 'start crawl job') self._handle_error(response, 'start crawl job')
@ -3472,7 +3472,7 @@ class AsyncFirecrawlApp(FirecrawlApp):
data.extend(next_data.get('data', [])) data.extend(next_data.get('data', []))
status_data = next_data status_data = next_data
status_data['data'] = data status_data['data'] = data
return status_data return CrawlStatusResponse(**status_data)
else: else:
raise Exception('Job completed but no data was returned') raise Exception('Job completed but no data was returned')
elif status_data.get('status') in ['active', 'paused', 'pending', 'queued', 'waiting', 'scraping']: elif status_data.get('status') in ['active', 'paused', 'pending', 'queued', 'waiting', 'scraping']: