I’m trying to send requests to Google Calendar asynchonously using aiogoogle but they’re running synchonously, here’s the code:
<code>import asyncio
from datetime import datetime
from aiogoogle.auth.creds import UserCreds, ClientCreds
from aiogoogle import Aiogoogle
async def list_events(ranges_list: tuple[datetime, datetime]):
async with Aiogoogle(user_creds=user_creds, client_creds=client_creds) as aiogoogle:
service = await aiogoogle.discover("calendar", "v3")
tasks = [aiogoogle.as_user(
service.events.list(timeMin=timeMin, timeMax=timeMax, calendarId=CALENDAR_ID)
) for timeMin, timeMax in ranges_list]
results = await asyncio.gather(*tasks)
return [[event['summary'] for event in calendar['items']] for calendar in results]
async def main():
ranges_list = [(
datetime(2024, 5, i).isoformat() + '+02:00',
datetime(2024, 5, i +1).isoformat() + '+02:00'
) for i in range(10,25)]
for event in await list_events(ranges_list):
print(event)
if __name__ == "__main__":
asyncio.run(main())
</code>
<code>import asyncio
from datetime import datetime
from aiogoogle.auth.creds import UserCreds, ClientCreds
from aiogoogle import Aiogoogle
async def list_events(ranges_list: tuple[datetime, datetime]):
async with Aiogoogle(user_creds=user_creds, client_creds=client_creds) as aiogoogle:
service = await aiogoogle.discover("calendar", "v3")
tasks = [aiogoogle.as_user(
service.events.list(timeMin=timeMin, timeMax=timeMax, calendarId=CALENDAR_ID)
) for timeMin, timeMax in ranges_list]
results = await asyncio.gather(*tasks)
return [[event['summary'] for event in calendar['items']] for calendar in results]
async def main():
ranges_list = [(
datetime(2024, 5, i).isoformat() + '+02:00',
datetime(2024, 5, i +1).isoformat() + '+02:00'
) for i in range(10,25)]
for event in await list_events(ranges_list):
print(event)
if __name__ == "__main__":
asyncio.run(main())
</code>
import asyncio
from datetime import datetime
from aiogoogle.auth.creds import UserCreds, ClientCreds
from aiogoogle import Aiogoogle
async def list_events(ranges_list: tuple[datetime, datetime]):
async with Aiogoogle(user_creds=user_creds, client_creds=client_creds) as aiogoogle:
service = await aiogoogle.discover("calendar", "v3")
tasks = [aiogoogle.as_user(
service.events.list(timeMin=timeMin, timeMax=timeMax, calendarId=CALENDAR_ID)
) for timeMin, timeMax in ranges_list]
results = await asyncio.gather(*tasks)
return [[event['summary'] for event in calendar['items']] for calendar in results]
async def main():
ranges_list = [(
datetime(2024, 5, i).isoformat() + '+02:00',
datetime(2024, 5, i +1).isoformat() + '+02:00'
) for i in range(10,25)]
for event in await list_events(ranges_list):
print(event)
if __name__ == "__main__":
asyncio.run(main())
I don’t understand what I’m doing wrong but they aren’t running in parallel