Fixing playwright issue using async API
Tested this using using duck duck go search engine and ollama with llama2 model, getting a new error when agent tries to browse.
Task exception was never retrieved future: <Task finished name='Task-6' coro=<Connection.run() done, defined at /home/riazs/devika/.venv/lib/python3.10/site-packages/playwright/_impl/_connection.py:265> exception=TypeError('child watchers are only available on the default loop')> Traceback (most recent call last): File "/home/riazs/devika/.venv/lib/python3.10/site-packages/playwright/_impl/_connection.py", line 272, in run await self._transport.connect() File "/home/riazs/devika/.venv/lib/python3.10/site-packages/playwright/_impl/_transport.py", line 135, in connect raise exc File "/home/riazs/devika/.venv/lib/python3.10/site-packages/playwright/_impl/_transport.py", line 123, in connect self._proc = await asyncio.create_subprocess_exec( File "/usr/lib/python3.10/asyncio/subprocess.py", line 218, in create_subprocess_exec transport, protocol = await loop.subprocess_exec( File "/usr/lib/python3.10/asyncio/base_events.py", line 1681, in subprocess_exec transport = await self._make_subprocess_transport( File "/usr/lib/python3.10/asyncio/unix_events.py", line 207, in _make_subprocess_transport transp = _UnixSubprocessTransport(self, protocol, args, shell, File "/usr/lib/python3.10/asyncio/base_subprocess.py", line 36, in __init__ self._start(args=args, shell=shell, stdin=stdin, stdout=stdout, File "/usr/lib/python3.10/asyncio/unix_events.py", line 799, in _start self._proc = subprocess.Popen( File "/home/riazs/devika/.venv/lib/python3.10/site-packages/gevent/subprocess.py", line 808, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, File "/home/riazs/devika/.venv/lib/python3.10/site-packages/gevent/subprocess.py", line 1625, in _execute_child self.pid = fork_and_watch(self._on_child, self._loop, True, fork) File "/home/riazs/devika/.venv/lib/python3.10/site-packages/gevent/os.py", line 429, in fork_and_watch _watch_child(pid, callback, loop, ref) File "/home/riazs/devika/.venv/lib/python3.10/site-packages/gevent/os.py", line 397, in _watch_child watcher = loop.child(pid, ref=ref) File "src/gevent/libev/corecext.pyx", line 734, in gevent.libev.corecext.loop.child File "src/gevent/libev/corecext.pyx", line 1275, in gevent.libev.corecext.child.__cinit__ TypeError: child watchers are only available on the default loop Exception in thread Thread-4 (<lambda>): Traceback (most recent call last): File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner self.run() File "/usr/lib/python3.10/threading.py", line 953, in run self._target(*self._args, **self._kwargs) File "/home/riazs/devika/devika.py", line 100, in <lambda> thread = Thread(target=lambda: agent.execute(message, project_name, search_engine)) File "/home/riazs/devika/src/agents/agent.py", line 348, in execute search_results = asyncio.run(self.search_queries(queries, project_name, engine)) File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run return loop.run_until_complete(main) File "/usr/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete return future.result() File "/home/riazs/devika/src/agents/agent.py", line 84, in search_queries await browser.initialize() File "/home/riazs/devika/src/browser/browser.py", line 90, in initialize self.playwright = await async_playwright().start() File "/home/riazs/devika/.venv/lib/python3.10/site-packages/playwright/async_api/_context_manager.py", line 52, in start return await self.__aenter__() File "/home/riazs/devika/.venv/lib/python3.10/site-packages/playwright/async_api/_context_manager.py", line 47, in __aenter__ playwright = AsyncPlaywright(next(iter(done)).result()) File "/home/riazs/devika/.venv/lib/python3.10/site-packages/playwright/_impl/_transport.py", line 123, in connect self._proc = await asyncio.create_subprocess_exec( File "/usr/lib/python3.10/asyncio/subprocess.py", line 218, in create_subprocess_exec transport, protocol = await loop.subprocess_exec( File "/usr/lib/python3.10/asyncio/base_events.py", line 1681, in subprocess_exec transport = await self._make_subprocess_transport( File "/usr/lib/python3.10/asyncio/unix_events.py", line 207, in _make_subprocess_transport transp = _UnixSubprocessTransport(self, protocol, args, shell, File "/usr/lib/python3.10/asyncio/base_subprocess.py", line 36, in __init__ self._start(args=args, shell=shell, stdin=stdin, stdout=stdout, File "/usr/lib/python3.10/asyncio/unix_events.py", line 799, in _start self._proc = subprocess.Popen( File "/home/riazs/devika/.venv/lib/python3.10/site-packages/gevent/subprocess.py", line 808, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, File "/home/riazs/devika/.venv/lib/python3.10/site-packages/gevent/subprocess.py", line 1625, in _execute_child self.pid = fork_and_watch(self._on_child, self._loop, True, fork) File "/home/riazs/devika/.venv/lib/python3.10/site-packages/gevent/os.py", line 429, in fork_and_watch _watch_child(pid, callback, loop, ref) File "/home/riazs/devika/.venv/lib/python3.10/site-packages/gevent/os.py", line 397, in _watch_child watcher = loop.child(pid, ref=ref) File "src/gevent/libev/corecext.pyx", line 734, in gevent.libev.corecext.loop.child File "src/gevent/libev/corecext.pyx", line 1275, in gevent.libev.corecext.child.__cinit__ TypeError: child watchers are only available on the default loop
google & gemini , rised error :RuntimeWarning: coroutine 'Agent.search_queries' was never awaited self._invoke_excepthook(self)