Tasks can be executed asynchronously only if NO dependency.
With dependency, there will be a producer and a consumer. Consumer need to process result provided by producer.
| #!/bin/bash | |
| err() { | |
| echo "ERROR: $@" >&2 | |
| } | |
| cf_api() { | |
| action=$1; shift | |
| context=$1; shift | |
| curl -Lks --request $action \ |
Maintain an up-to-date published document to make it clear to everybody. It helps to make things clear among different groups. It provides information visibility to everybody.
Keep a record of daily activities, gained information, tips, etc. It helps to review and get things connected.
| #!/bin/bash | |
| err() { | |
| msg="$@" | |
| echo "ERROR: $msg" >&2 | |
| } | |
| [[ `id -u` == '0' ]] || { | |
| err "must run as root or with sudo" | |
| exit 1 |
| #!/bin/bash | |
| set +e | |
| CMD=${0##*/} | |
| CMDDIR=$(cd ${0%/*}>/dev/null; pwd -P) | |
| STOREPASS='changeit' | |
| OPENSSL=openssl | |
| #!/bin/bash | |
| INSTALL_DIR=~/opt/python | |
| TMP_DIR=/tmp/install_python | |
| mkdir -p $INSTALL_DIR | |
| DIR_OPENSSL=openssl-1.0.2k | |
| DIR_PYTHON=Python-2.7.13 | |
| FILE_OPENSSL=${DIR_OPENSSL}.tar.gz | |
| FILE_PYTHON=${DIR_PYTHON}.tgz |
| #!/bin/bash | |
| set -e | |
| FTP_BASE='ftp://ftp.yangjian.net/pub' | |
| LIBEVENT=libevent-2.1.8-stable | |
| NCURSES=ncurses | |
| TMUX=tmux-2.6 | |
| OPT_DIR=$HOME/opt |
curl -LOk https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz
tar -zf Python-2.7.15.tgz
cd Python.2.7.15
./configure --enable-optimization
make altinstall
curl -LOk https://bootstrap.pypa.io/get-pip.py
python2.7 get-pip.py
| #!/bin/bash | |
| set -e | |
| err() { | |
| echo "$@" >&2 | |
| } | |
| prepare_redhat() { | |
| yum update -y |