21 lines
890 B
Bash
Executable File
21 lines
890 B
Bash
Executable File
#!/bin/bash
|
|
LOG=/opt/wevads/logs/send_cron.log
|
|
BATCH=${1:-200}
|
|
echo "[$(date +%H:%M:%S)] START batch=$BATCH" >> $LOG
|
|
SENT=0
|
|
EMAILS=$(PGPASSWORD=admin123 psql -U admin -d adx_system -t -A -c "SELECT email FROM admin.send_contacts WHERE status=E'active' AND email NOT IN (SELECT email FROM admin.global_suppression) ORDER BY RANDOM() LIMIT $BATCH")
|
|
for EMAIL in $EMAILS; do
|
|
[ -z "$EMAIL" ] && continue
|
|
ISP=$(echo $EMAIL | awk -F@ '{print $2}' | awk -F. '{print toupper($1)}')
|
|
RESULT=$(cd /opt/wevads/scripts && timeout 30 php brain_send_production.php "" "$ISP" "$EMAIL" 2>&1)
|
|
if echo "$RESULT" | grep -q "ENVOY"; then
|
|
SENT=$((SENT+1))
|
|
echo "[$(date +%H:%M:%S)] OK $EMAIL ($ISP)" >> $LOG
|
|
else
|
|
echo "[$(date +%H:%M:%S)] FAIL $EMAIL: $(echo $RESULT | head -c 60)" >> $LOG
|
|
fi
|
|
sleep 1
|
|
done
|
|
echo "[$(date +%H:%M:%S)] DONE: $SENT/$BATCH" >> $LOG
|
|
echo "DONE: $SENT/$BATCH"
|