Lots of people like https://explore.cioos.ca, but we're having issues with the harvester.
Issue
explore.cioos.ca harvester is having a few issues and fails on occasion to query some erddap servers and/or datasets.
Some of those issues are related to timeout errors associated to some of the queries which sometimes need a lot of ressources on the remote ERDDAP server. As an example, we've asking the different CIOOS groups to use a 20min timeout at least to be able to handle big queries from CDE.
We also have right no way to test future implementation, track cron job and issues. Also a lot of time, the harvester is simply waiting for a reply from an ERDDAP server.
Suggestion
Based on those different issues, I'm thinking it would be time for an overhaul of the explore cioos harvester. For this, I'm thinking doing the following:
Since the queries generated by the harvester can be pretty ressources intensive on the erddap server side. This would be a good opportunity to use this to help assessing the caprover deployments with the caprover deployment method (seeissue)
Lots of people like https://explore.cioos.ca, but we're having issues with the harvester.
Issue
explore.cioos.ca harvester is having a few issues and fails on occasion to query some erddap servers and/or datasets.
Some of those issues are related to timeout errors associated to some of the queries which sometimes need a lot of ressources on the remote ERDDAP server. As an example, we've asking the different CIOOS groups to use a 20min timeout at least to be able to handle big queries from CDE.
We also have right no way to test future implementation, track cron job and issues. Also a lot of time, the harvester is simply waiting for a reply from an ERDDAP server.
Suggestion
Based on those different issues, I'm thinking it would be time for an overhaul of the explore cioos harvester. For this, I'm thinking doing the following:
Rely on erddap-python for generating all the erddap queriesUse celery for handling multithreading the different queries to the multiple datasets simultaneouslyalternative from @steviewanders https://huey.readthedocs.io/en/latest/alternative from @steviewanders https://github.com/hynek/staminaadd a table to the database to track updates to databaseSplit multithreads by datasets/erddap servers, to avoid slowing down other server harvesters.The harvester is already splitting by erddap server, which I think make sense.sentry_sdkclickpytestpoetrySince the queries generated by the harvester can be pretty ressources intensive on the erddap server side. This would be a good opportunity to use this to help assessing the caprover deployments with the caprover deployment method (seeissue)