Hi,
i’ve been trying to download multiple fields from Gaia using the cone_search_async method, by starting the jobs on a loop and them getting the results on another one. Like on the example bellow.
fields = [
(250, -46, 2),
(250, -47, 2),
(250, -48, 2),
(250, -49, 2),
(250, -50, 2),
(250, -51, 2),
]
fields = [helper(*field) for field in fields]
gaia_credentials_file = "gaia_credentials.txt"
with gaia_credentials(gaia_credentials_file):
results = [get_gaia_catalog(*inputs) for inputs in fields]
results = [res.get_data() for res in results]
the helper() and get_gaia_catalog() functions are just helpers to help format the arguments, and the gaia_credentials context manager just help with logging in and out. (get_gaia_catalog basically loads coordinates into skycoords and call Gaia.cone_search_async with the proper parameters)
I’ve also tried to use the async/await syntax but it haven’t worked either (with asyncio.gather)… By watching the logs i can see that the jobs are being started and finished before the next one start, therefore it’s running sequentially (the loop above is taking 5 secs for 1 element and 30 secs for the 6 queries … therefore no gain in speed).
I think i’m just not using it properly. But i can’t find an example that’s fetching more than 1 field at a time.
Someone can give an example of how to fetch multiple fields asynchronously?