Бюджет: 250 EUR Термін: 5 днів
Привіт, Маріо,
Перерви в роботі додатку на Vanilla JS на Supabase Realtime плюс Upstash Redis майже ніколи не виникають через функцію, яка явно зависає. З мого досвіду звичайні причини такі:
- Підписки на Realtime, які створюються при кожному повторному рендерингу або зміні маршруту і ніколи не скасовуються, тому через деякий час клієнт утримує десятки відкритих каналів, і сокет починає накопичуватися.
- Відсутність обробки повторного підключення/зворотного зв'язку: Supabase скидає вебсокет (сон вкладки, мережевий збій), додаток ніколи не підписується знову, і інтерфейс просто залишається "завислим".
- Виклики Redis, що виконуються за кожним натисканням клавіші або подією прокрутки замість того, щоб бути дебаунсованими, досягають обмежень швидкості Upstash — які повертають помилки, які додаток тихо поглинає.
- Холодні старти безсерверних функцій на Vercel маскуються під "додаток завис".
Як я працюватиму:
1. Спочатку відтворю. Інструментую клієнта: веду облік кожної підписки/скасування підписки каналу з лічильником, обгортаю кожен виклик Supabase і Upstash, щоб зафіксувати затримки та помилки. Без відтворення будь-яке виправлення — це здогадка.
2. Читаю мережевий водоспад і журнали функцій Vercel в точний момент зависання, а не загалом.
3. Виправляю корінні причини, а не симптоми — і прямо кажу, які з них я знайшов, а які не зміг підтвердити.
4. Перевірка регресії: короткий скрипт, який повторно запускає проблемні потоки, щоб зависання не могло повернутися непоміченим.
Що мені потрібно від вас: доступ до репозиторію, доступ до проекту Supabase і Vercel (тільки для читання журналів достатньо для початку) і один конкретний приклад — яка функція зависає, як часто і приблизно коли це сталося востаннє.
Про мене: я створюю та запускаю автономні системи в продукції 24/7 на Linux VPS — Python, Node, systemd, моніторинг, самоперезапуск. Налагодження чужого коду, читання журналів і стабілізація "майже працюючих" систем — це саме те, що я роблю. Playwright і Puppeteer — це щоденні інструменти, тому регресійний тест не є додатковою роботою для мене.
Моя робота: guardlabs.online/studio
Ставка: 250 EUR, 5 днів. Якщо корінна причина виявиться меншою, ніж виглядає, я скажу про це, і ми можемо скоротити обсяг — я б краще зберіг чесну оцінку, ніж завищував її.
Примітка: опис проекту був автоматично перекладений з мого боку, тому якщо я неправильно зрозумів будь-яку вимогу, виправте мене, і я внесу корективи.