ellipse-science/tube

Les connexions simultanées à tube ne fonctionnent pas

Closed this issue · 1 comments

Actuellement il y a 1387 communiqués de presse pour le NDP en DEV et 5669 en PROD

Preuve:

r$> con <- tube::ellipse_connect("DEV")
ℹ Environnement: DEV
ℹ Database: datawarehouse
ℹ Pour déconnecter: tube::ellipse_disconnect(objet_de_connexion)
r$> df <- tube::ellipse_query(con, 'a-ca-press-releases') |>
        dplyr::collect()
INFO: (Data scanned: 0 Bytes)
INFO: (Data scanned: 32.29 MB)
r$> table(df$party_id)

  BQ  CPC  GPC  LPC  NDP  PPC
1394  571 1506 1059 1387   55

r$> q()
r$> con <- tube::ellipse_connect("PROD")
ℹ Environnement: PROD
ℹ Database: datawarehouse
ℹ Pour déconnecter: tube::ellipse_disconnect(objet_de_connexion)

r$> df <- tube::ellipse_query(con, 'a-ca-press-releases') |>
        dplyr::collect()
INFO: (Data scanned: 0 Bytes)
INFO: (Data scanned: 36.88 MB)

r$> table(df$party_id)

  BQ  CPC  GPC  LPC  NDP  PPC
  12  357   40   70 5669   55

r$> q()

Problème:

r$> con <- tube::ellipse_connect("PROD")
ℹ Environnement: PROD
ℹ Database: datawarehouse
ℹ Pour déconnecter: tube::ellipse_disconnect(objet_de_connexion)

r$> df <- tube::ellipse_query(con, 'a-ca-press-releases') |>
        dplyr::collect()
INFO: (Data scanned: 0 Bytes)
INFO: (Data scanned: 36.88 MB)

r$> table(df$party_id)

  BQ  CPC  GPC  LPC  NDP  PPC
  12  357   40   70 5669   55

r$> con1 <- tube::ellipse_connect("DEV")
ℹ Environnement: DEV
ℹ Database: datawarehouse
ℹ Pour déconnecter: tube::ellipse_disconnect(objet_de_connexion)

r$> df <- tube::ellipse_query(con1, 'a-ca-press-releases') |>
        dplyr::collect()
INFO: (Data scanned: 0 Bytes)
INFO: (Data scanned: 36.88 MB)

r$> table(df$party_id)

  BQ  CPC  GPC  LPC  NDP  PPC
  12  357   40   70 5669   55

r$>

Je ne suis pas proche de mon ordi, mais je soupçonne que ça soit dû à la memoisation.

https://github.com/ellipse-science/tube/blob/main/R/ellipse.R#L60

Si c'est le cas il faut voir le moindre mal entre rouler get_aws_credentials à répétition ou ne supporter qu'une seule connexion par session R.