PDA

View Full Version : حرفه ای: مشکل در پردازش عمل دریافت مطالب از Rss چندین سایت



persian-boy
چهارشنبه 01 خرداد 1392, 22:13 عصر
سلام دوستان

بنده روی یک سیستمی کار میکنم که مطالب رو از RSS میخونه . تا اینجا مشکلی نیست
تعداد سایت ها نزدیک به 100 مورد هست .

اینجا 3 تا سوال پیش میاد

1 - به چه شکل و با چه منطقی لینک های مطالب رو از این 100 تا RSS بکشم بیرون ؟ منظورم نحوه بیرون کشیدن نیست ، منظورم اینه که چطور پردازش رو پایین بیارم ؟ عملا این 100 تا سایت رو بندازم داخل حلقه و لینک هارو بکشم بیرون کار دارستی نیست .

2 - بعد از اینکه لینک های مطالب رو از سایت ها کشیدم بیرون ، من به این شکل عمل میکنم ، درسته ؟
اول لینک اول هر RSS رو میگیرم ، اگر در دیتابیس موجود بود یعنی مطلب جدیدی منتشر نشده ولش میکنم و میرم rss بعدی . آیا این روش درسته ؟

3 - حالا فرضا خبر جدیدی در سایت مبدا ارسال شده بود ، میخوام لینک رو باز کنم و با Parse کردن HTML قسمت مورد نظرم رو بکشم بیرون و وارد دیتابیس کنم . حالا فرضا این 100 تا سایت 60 تاشون حداقل 1 مطلب ارسال کرده باشن ، واقعا از نظر پردازش افتضاح میشه !

ممنون میشم بنده رو راهنمایی کنید

پیشاپیش از راهنمایی هاتون متشکرم ♥

dousti_design
چهارشنبه 01 خرداد 1392, 22:36 عصر
1 - به چه شکل و با چه منطقی لینک های مطالب رو از این 100 تا RSS بکشم بیرون ؟ منظورم نحوه بیرون کشیدن نیست ، منظورم اینه که چطور پردازش رو پایین بیارم ؟ عملا این 100 تا سایت رو بندازم داخل حلقه و لینک هارو بکشم بیرون کار دارستی نیست .
100 تا کرون جاب با فاصله زمانی محاسبه شده درست کنید اینجوری تو هرلحظه تعداد مشخصی اسکریپت درحال اجرا شدن هستن.

2 - بعد از اینکه لینک های مطالب رو از سایت ها کشیدم بیرون ، من به این شکل عمل میکنم ، درسته ؟
اول لینک اول هر RSS رو میگیرم ، اگر در دیتابیس موجود بود یعنی مطلب جدیدی منتشر نشده ولش میکنم و میرم rss بعدی . آیا این روش درسته ؟
تو حلقه چک کنید به اولین item که قبلا درج شده برخورد کردید دیگه نیازی نیست item های بعدی اون rss رو بررسی کنید.

3 - حالا فرضا خبر جدیدی در سایت مبدا ارسال شده بود ، میخوام لینک رو باز کنم و با Parse کردن HTML قسمت مورد نظرم رو بکشم بیرون و وارد دیتابیس کنم . حالا فرضا این 100 تا سایت 60 تاشون حداقل 1 مطلب ارسال کرده باشن ، واقعا از نظر پردازش افتضاح میشه !
باید از سرور اختصاصی استفاده کنید.

persian-boy
پنج شنبه 02 خرداد 1392, 09:49 صبح
سلام

ممنون که پاسخ دادید


100 تا کرون جاب با فاصله زمانی محاسبه شده درست کنید اینجوری تو هرلحظه تعداد مشخصی اسکریپت درحال اجرا شدن هستن.

این مورد فکر کنم از مورد خودم نامناسب تر باشه . نمیدونم ولی از قیافه راه حل های من و شما معلومه که کلی داریم لقمه دور سرمون میچرخونیم و اصلا کار درستی نیست


باید از سرور اختصاصی استفاده کنید.

سرور اختصاصی اختصاص دادیم به این سیستم . یعنی یه سرور داخل پارس آنلاین به صورت کولو در اختیار داریم و یک سایت خیلی کوچیک روش هست که روزی 10 تا بیشتر بازدید نداره . روی اون قرار میدیم سیستم رو .
ولی در این صورت هم باز صورت مساله رو پاک کردیم . چون نمیتونیم پردازش رو کاهش بدیم ، از سرور اختصاصی استفاده کنیم ؟ بازم فکر نکنم درست باشه . ضمنا منابع سرور ما آنچنان قوی نیست . 8 GB رم و Corei7 فکر کنم به یه سیستم دسکتاپ میگن تا یک سرور

dousti_design
پنج شنبه 02 خرداد 1392, 15:19 عصر
آخه دیگه چاره ای نیست بالاخره باید پردازش انجام بشه دیگه. سایت های پربازدیدی مثل خبرفارسی هم از کرون استفاده میکنند. فکر نکنم راه حل بهتری وجود داشته باشه

persian-boy
سه شنبه 07 خرداد 1392, 10:49 صبح
بله فرمایش شما صحیح ولی حتما راهی برای بهینه کردن پردازش هم وجود داره .

الان بنده rss هارو cache میکنم . هر 60 مورد Rss نزدیک به 10 دقیقه زمان میبره .

با این روال ، در آپدیت های سریع به مشکل میخورم