Skip to content

Instantly share code, notes, and snippets.

View russch's full-sized avatar

Russell Christopher russch

View GitHub Profile
@russch
russch / backgrounder_status.py
Created June 26, 2017 22:20
Monitor and Save Backgrounder Queue Length
import json
import psycopg2
import sys
import time
# Source database & query which monitors job queue
connStringSource = "host=<hostname> port=8060 dbname=workgroup user=<tableau or read-only> password=<password>"
sqlSource= "SELECT job_name, \
@russch
russch / prep-centos.sh
Last active October 15, 2020 20:07
Prepare Centos 7 on EC2 for Tableau Server
#!/bin/bash
# Update and install the basics
sudo yum update -y
sudo yum install epel-release -y
sudo yum install haveged -y
sudo yum install nano -y
# AWS cli - need Python34, PIP
sudo yum install python34 -y
curl -O https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py --user
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
maxconn 4000
user haproxy
group haproxy
daemon
stats socket /var/lib/haproxy/stats mode 777
freegeoip <- function(ip, format = ifelse(length(ip)==1,'list','dataframe'))
{
if (1 == length(ip))
{
# a single IP address
require(rjson)
url <- paste(c("http://freegeoip.net/json/", ip), collapse='')
ret <- fromJSON(readLines(url, warn=FALSE))
ret <- data.frame(t(unlist(ret)))
latlon <- paste(ret$latitude,ret$longitude,sep=",")
@russch
russch / gist:f77f95e13d2fbc698a1a
Created January 23, 2015 19:48
Multipart/mixed POST to Tableau's REST api via NodeJS
var FormData = require('form-data');
var fs = require('fs');
var XMLWriter = require('xml-writer');
...
var dsXml = new XMLWriter();
dsXml.startElement('tsRequest')
.startElement('datasource')
.writeAttribute('name', "file")
@russch
russch / gist:7451465
Created November 13, 2013 15:59
Automatically refresh a Tableau viz on Tableau Server
<!DOCTYPE html>
<html>
<title>I'm an HTML file!</title>
<!-- Replace the reference to the JS API on Tableau Public to your server -->
<script type="text/javascript" src="http://public.tableausoftware.com/javascripts/api/tableau_v8.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>