summaryrefslogtreecommitdiff
path: root/fix_queue3.sh
blob: c28d42adc1352b52a8e25a80a5db52b9dcf8812c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/bash

# ===== CONFIG =====
USERNAME="$1"
RAILS_ENV=production
cd /home/mastodon/live || exit 1

if [[ -z "$USERNAME" ]]; then
  echo "❌ Usage: $0 <username>"
  exit 1
fi

# Set full path for bundle
BUNDLE_PATH="/home/mastodon/.rbenv/shims/bundle"

echo "🔍 Looking up account ID for @$USERNAME..."
ACCOUNT_ID=$(sudo -u mastodon -E env RAILS_ENV=production $BUNDLE_PATH exec rails runner "
acct = Account.find_by(username: '$USERNAME')
puts acct&.id || 'not_found'
")

if [[ "$ACCOUNT_ID" == "not_found" ]]; then
  echo "❌ Account @$USERNAME not found."
  exit 1
fi

echo "🗑️ Deleting Redis cache for home timeline..."
sudo -u mastodon -E env RAILS_ENV=production redis-cli DEL feed:home:$ACCOUNT_ID

echo "🧱 Rebuilding timeline from followed accounts..."
sudo -u mastodon -E env RAILS_ENV=production $BUNDLE_PATH exec rails runner "
acct = Account.find_by(username: '$USERNAME')
if acct
  FeedInsertWorker.push_bulk(acct.following.pluck(:id)) do |follower_id|
    [follower_id, acct.id]
  end
  puts '✅ Timeline repopulation enqueued.'
end
"

echo "✅ Done. Home timeline for @$USERNAME reset and rebuilt."