RSS Programları
Program alanları
typescript
{
id: number,
team_id: number,
url: string, // feed URL (zorunlu)
accounts: string, // virgülle ayrılmış hedef hesap ID'leri
title: string | null,
desc: string | null,
start_date: number, // unix
end_date: number, // unix
time_post: number, // gönderim zamanı (unix veya günün-saati)
next_try: number, // unix; sonraki polling denemesi
data: string | null, // JSON: feed-başı parse seçenekleri
stats: string | null, // JSON: toplam sayaçlar
status: number,
created: number,
changed: number,
}Polling
Polling, bir worker işi olarak çalışır. Her tick'te:
next_try <= nowolan programları okur.- Feed'i çeker, girişleri parse eder, önceki
stats'a karşı dedup eder. - Yapılandırılmış
accounts'u hedef olarak her yeni giriş için bir taslak gönderi oluşturur. stats'ı günceller venext_try'ı polling aralığı kadar artırır.
POST /:id/fetch üzerinden manuel tetikleme aynı mantığı anında çalıştırır.
Eşleme
data JSON'u feed-başı parse seçeneklerini taşır — tipik olarak gönderi gövdesi, görsel URL'si ve link olarak kullanılacak alan adları. Feed standart-dışı alan adları kullanıyorsa ince ayar yap.