0
我想varnishlog記錄添加到這個buildpack:https://github.com/chregu/cf-varnish-buildpack如何向[Cloud Foundry] buildpack添加額外的流程?
我如何可以添加第二個過程,當buildpack開始記錄光油錯誤,磁盤/標準錯誤要開始了嗎?
我想varnishlog記錄添加到這個buildpack:https://github.com/chregu/cf-varnish-buildpack如何向[Cloud Foundry] buildpack添加額外的流程?
我如何可以添加第二個過程,當buildpack開始記錄光油錯誤,磁盤/標準錯誤要開始了嗎?
buildpack可以產生後臺進程。在指向的buildpack的情況下,bin/release
文件表明它將在啓動時啓動boot.sh
。因此,您只需修改boot.sh
即可使用通常的shell語法在命令中添加&
來在後臺啓動任何內容。例如:
export APP_ROOT=$HOME
export LD_LIBRARY_PATH=$APP_ROOT/varnish/lib:$LD_LIBRARY_PATH
if [ -z "$VARNISH_MEMORY_LIMIT" ]; then
VARNISH_MEMORY_LIMIT=$MEMORY_LIMIT
fi
# Start some logging process in the background
start_my_logging.sh &
# check varnish config
$APP_ROOT/varnish/sbin/varnishd -C -f $APP_ROOT/varnish/etc/varnish/default.vcl 2>&1
# TODO, Make MEMORY_LIMIT adjustable, this now comes from CF itself
exec $APP_ROOT/varnish/sbin/varnishd -n /home/vcap/tmp/varnish -F -f $APP_ROOT/varnish/etc/varnish/default.vcl -a 0.0.0.0:$VCAP_APP_PORT -t 120 -w 50,1000,120 -s malloc,$VARNISH_MEMORY_LIMIT -T 127.0.0.1:6082 -p http_resp_hdr_len=32768 2>&1
# ------------------------------------------------------------------------------------------------
這適用於創建另一個進程,但是,我的恥辱,我不能工作了如何獲得AFTER的varnishd過程開始被稱爲記錄腳本(我想你需要一個正在運行的進程varnishd然後纔可以調用日誌記錄) –
定義一個完全獨立的進程/腳本來開始日誌記錄會更好嗎,而不是掛起主清漆啓動腳本的日誌記錄? –
在開始記錄之前,你可以使用一個休眠一下的子shell,比如'(sleep 10; start_my_logging.sh)&'。如果你知道一些可以檢查的外部符號,那麼你可以使它更復雜一點,這表明主進程已準備好允許它運行。 –