Sitesi I, 150-300 insanlardan tweets getir lokal bunları saklamak ve daha sonra ön sayfada bunları listelemek için ihtiyaçlar üzerinde çalışıyorum. Profilleri gruplar halinde oturmak.
Sayfaları gösteriyor olacak
- tarih, profiller grup, tek bir profil, arama, ya da "özne" ile son 20 tweets (veya 21-40, vb) (farklı grup tür .. sanırım ..)
- (gösterilen geçerli arama, profillerin grup veya tek bir profilin son 300 tweets dayanan) bir canlı, bağlam bilinçli etiket bulutu
- gösterilen sayfanın türüne bağlıdır çeşitli istatistikler (en aktif grubu maddeleri, vb.)
Biz trafik adil biraz bekliyoruz. Son, benzer bir site günde neredeyse 40K ziyaretleri doruğa ve ben önbelleğe alma sayfaları gibi statik dosyaları başlamadan önce intro sorun koştu, ve bazı özellikleri (Yanlışlıkla bazı, ..) devre dışı. Bu bir sayfa yükleme also uzun güncellenmiş olmasaydı 3-6 profillerinden son x tweets kavusacaktı gerçeği çoğunlukla neden oldu ..
Yardımcı olur bu yüzden bu yeni site ile ben neyse, tweets getirmek için cron kullanabilirsiniz. Daha az yerine boyutu daha hızlı seçtiği için optimize katılır gerekiyor bu yüzden de db biraz denormalizing olacak.
Now, main question: how do I figure out which profiles to check for new tweets in an efficient manner? Some people will be tweeting more often than others, some will tweet in bursts (this happens a lot). I want to keep the front page of the site as "current" as possible. If it comes to, say, 300 profiles, and I check 5 every minute, some tweets will only appear an hour after the fact. I can check more often (up to 20K) but want to optimize this as much as possible, both to not hit the rate limit and to not run out of resources on the local server (it hit mysql's connection limit with that other site).
Question 2: since cron only "runs" once a minute, I figure I have to check multiple profiles each minute - as stated, at least 5, possibly more. To try and spread it out over that minute I could have it sleep a few seconds between batches or even single profiles. But then if it takes longer than 60 seconds altogether, the script will run into itself. Is this a problem? If so, how can I avoid that?
Question 3: any other tips? Readmes? URLs?