48 lines
891 B
Go
48 lines
891 B
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"os"
|
|
|
|
redis "github.com/go-redis/redis/v8"
|
|
"github.com/jackc/pgx/v4/pgxpool"
|
|
)
|
|
|
|
var data_db *pgxpool.Pool
|
|
var messages_db *pgxpool.Pool
|
|
var stats_db *pgxpool.Pool
|
|
var rdb *redis.Client
|
|
|
|
func run_simple_pg_query(c *pgxpool.Pool, sql string) {
|
|
_, err := c.Exec(context.Background(), sql)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
}
|
|
|
|
func connect_dbs() {
|
|
data_db = pg_connect(get_env_var("DATA_DB_URI"))
|
|
messages_db = pg_connect(get_env_var("MESSAGES_DB_URI"))
|
|
rdb = redis_connect(get_env_var("REDIS_ADDR"))
|
|
|
|
if uri, ok := os.LookupEnv("STATS_DB_URI"); ok {
|
|
stats_db = pg_connect(uri)
|
|
}
|
|
}
|
|
|
|
func pg_connect(url string) *pgxpool.Pool {
|
|
conn, err := pgxpool.Connect(context.Background(), url)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
return conn
|
|
}
|
|
|
|
func redis_connect(url string) *redis.Client {
|
|
return redis.NewClient(&redis.Options{
|
|
Addr: url,
|
|
DB: 0,
|
|
})
|
|
}
|