reload_flag=""
if [[ -n "${DEBUG}" ]]; then
reload_flag="--reload"
fi
if [[ -n "${WORKER_COUNT}" ]]; then
workers=${WORKER_COUNT}
else
workers=2
fi
gunicorn --workers ${workers} \
--bind 0.0.0.0:8000 \
${reload_flag} main.wsgi
Писали такие конструкции чтобы проверить наличие флага и сформировать команду правильно?
На самом деле можно сделать тоже самое проще. Для этого используются операторы условной подстановки, доступные в оболочках семейства POSIX.
:- для установки значений по умолчанию
${WORKER_COUNT:-2}
Если переменная не объявлена, то будет дефолтное значение 2.
:+ подставляет указанный текст, если переменная не пуста
${DEBUG:+--reload}
Если что-то есть в переменной то распечатается текст после символа +, в противном случае - ничего. Удобно для опциональных флагов, как в нашем примере.
Итого наш скрипт может выглядеть так:
gunicorn --workers ${WORKER_COUNT:-2} \
--bind 0.0.0.0:8000 \
${DEBUG:+--reload} main.wsgi
Есть еще два оператора.
:= не только подставить дефолтное значение, но и присвоить его переменной, если она пуста
# никаких переменных еще нет
VAL1=${VAL2:=hello}
# теперь доступны обе
echo $VAL1 $VAL2
# hello hello
:? остановить выполнение с ошибкой, если переменной нет.
echo ${MISS:?is required}
bash: MISS: is required
Код выхода будет 1.
#tricks#linux
⚡️swap.coffee: Impressive April 2025 Metrics
#swap#metrics
Swap.coffee shared its growth metrics for April 2025, showing a transaction volume of nearly $18 million, 37,129 transactions, and 5,934 unique users. The team expresses gratitude for the ongoing support from their community.
Source: link
@tonlines
#go#logging#metrics#opentelemetry#tracing
OpenTelemetry-Go is a tool for Go applications that helps you track how your software performs by collecting data like traces and metrics, then sending this information to monitoring platforms so you can see what’s happening inside your app in real time[2][3][4]. It works on many operating systems and Go versions, and you can use it by adding a few lines of code to your app and setting up an exporter. This makes it much easier to find and fix problems, understand how your app is running, and keep everything reliable and fast[2][3][4].
https://github.com/open-telemetry/opentelemetry-go
Raycaster Secures $500K Round
Raycaster has closed a funding round of $500,000 on December 4, 2024. The company specializes in providing unique insights for revenue teams, focusing on lab specs and API performance to accelerate high-value deal closures.
#Raycaster#Funding#Revenue#Insights#API#Metrics
AI Predictions: From Vacuums to Real Impact
AI-powered prediction platforms are gaining traction, with a focus on forecasting reactions based on content and audience. Initial predictions using tools like ChatGPT yield 17% accuracy, but considering audience interactions can boost accuracy to 83%. This innovative approach helped a startup refine its pitch to enter Y Combinator. Discover more insights on enhancing prediction accuracy in various fields here.
#AI#Startup#Prediction#YCombinator#Marketing#Innovation#Tech#Growth#Entrepreneurship#Forecasting#AudienceAnalysis#DataScience#MachineLearning#Success#Business#Trends#Platforms#Metrics#Investment#VC