Today I just wanted to know which of these options is faster:
- Go HTTP standalone
- Nginx proxy to Go HTTP
- Nginx fastcgi to Go TCP FastCGI
- Nginx fastcgi to Go Unix Socket FastCGI
| // A simple SSH server providing bash sessions | |
| // | |
| // Server: | |
| // cd my/new/dir/ | |
| // #generate server keypair | |
| // ssh-keygen -t rsa | |
| // go get -v . | |
| // go run sshd.go | |
| // | |
| // Client: |
| import groovyx.net.http.*; | |
| import static groovyx.net.http.ContentType.*; | |
| import static groovyx.net.http.Method.*; | |
| class NexusArtifactCleanup { | |
| /** | |
| * Settings in which to run script. | |
| */ |
| #!/bin/sh | |
| # Called by "git push" after it has checked the remote status, | |
| # but before anything has been pushed. | |
| # | |
| # If this script exits with a non-zero status nothing will be pushed. | |
| # | |
| # Steps to install, from the root directory of your repo... | |
| # 1. Copy the file into your repo at `.git/hooks/pre-push` | |
| # 2. Set executable permissions, run `chmod +x .git/hooks/pre-push` |
| package main | |
| import ( | |
| "crypto/tls" | |
| "crypto/x509" | |
| "fmt" | |
| "io" | |
| "log" | |
| ) |
| # Two ENV variables control the 'gem' command: | |
| # | |
| # GEM_HOME: the single path to a gem dir where gems are installed | |
| # GEM_PATH: a standard PATH to gem dirs where gems are found | |
| # | |
| # A gem directory is a directory that holds gems. The 'gem' command will lay | |
| # out and utilize the following structure: | |
| # | |
| # bin # installed bin scripts | |
| # cache # .gem files ex: cache/gem_name.gem |
| #!/sbin/runscript | |
| # GitLab init script for Gentoo Linux | |
| # see https://github.com/gitlabhq/gitlabhq/blob/master/doc/installation.md | |
| GITLAB_BASE=/home/gitlab/gitlab | |
| GITLAB_USER=gitlab | |
| depend() { | |
| need net mysql redis | |
| } |
| import json,sys,os | |
| import urllib2 | |
| url = 'http://x.x.x.x/job/x.x.x.x/lastBuild/api/json' | |
| try: | |
| u = urllib2.urlopen(url).read() | |
| except: | |
| exit(100) | |
| baseim = json.loads(u) | |
| baseim_revision = baseim["changeSet"]['revisions'][0]['revision'] |
| # Runs a specified shell command in a separate thread. | |
| # If it exceeds the given timeout in seconds, kills it. | |
| # Returns any output produced by the command (stdout or stderr) as a String. | |
| # Uses Kernel.select to wait up to the tick length (in seconds) between | |
| # checks on the command's status | |
| # | |
| # If you've got a cleaner way of doing this, I'd be interested to see it. | |
| # If you think you can do it with Ruby's Timeout module, think again. | |
| def run_with_timeout(command, timeout, tick) | |
| output = '' |