سلام وقت بخیر.
من قصد دارم دیتا های وب سایت های مختلف رو در لاوال توسط cron job کرال کنم .
اگر فرض بر اینکه هر رکوئست ۲ ثانیه میانگین زمان ببره و هر کدوم هم ۲۰۰ کیلو بایت بخواد دیتا داشته باشه چه چیزی میزان رکوئست من در هر دقیقه که کرون ران میشه رو باید مشخص کنه یا واضخ تر بگم چند تا رکوئست این چنینی در هر دقیقه میتونم بدم
با توجه به queue شدن هر کدوم از این رکوئست ها
با تشکر
اولا وقتی پاسخ میدید به کسی منشنش کنید که متوجه بشه
ثانیا کرون جاب اصلا واسه کراول کردن نیست و حرفه ای نیست، هر یک دقیقه میتونید اجرا اش کنید و کلی دردسر داره، کرون جاب واسه اجرای یک تسک به طور مداوم در سرور هست
اگه ربات میخواین باید با سلنیوم ایجاد کنید که خیلی ساده هست، و هر ثانیه میتونید ریکوئست بزنید و کلی قابلیت مختلف داره و همچنین میتونید با وب درایور کروم که توی سلنیوم هست اجزای صفحه رو انتخاب کنید، مقدار وارد کنید و ...
@developer
خیلی ممنونم از راهنمایی و توضیحات درستتون 🙏
دیدم کتابخونه سلنیوم رو خیلی خوب بنظر میرسید مخصوصا با درایور کرومش.
ولی خب در مورد کرون جاب چون داریم از PHP و لاراول استفاده میکنیم باید از کرون جاب برای اتومیت کردن استفاده بشه ضمن اینکه در هر دقیقه میشه تعداد دلخواه رکوئست رو queue کرد تا خودش هر کدوم رو به ترتیب بزنه و از این لحاظ پرفورمنس خوبی داره.
من الان بیشتر سوالم در مورد میزان مصرف سرور هست که باید نگران چه ریسورسی باشم با وجود حجم دیتای دریافتی
سلام
بخش اصلی سرویس شما همون بخش crawl هست که قراره انجام بدید. سرعت پایتون به مراتب بیشتر از php هست و زبان php اضلا برای این کار مناسب نیست و بهتره از پایتون برای این کار استفاده کنید که پایتون یه فریم ورک برای ایجاد سایت داره به نام flask که باید روی اون از ابزارهایی مثل سلنیوم یا scrapy استفاده کنید چون عملا شما سرویس پایتون رو باید روی یه سرور دیگه ای بالا بیارید و از طریق یه آدرسی بهش درخواستهاتون رو اجرا بکنید و داده ها رو براش پاس بدید و اونجا از ابزارهای crawl استفاده کنید و نتایج رو برگردونید.
من خودم قبلا از scrapy برای crawl دیجی کالا استفاده کرده بودم با روشی که بهتون گفتم
@amin.webdesign
خیلی ممنونم از پاسخ بسیار خوبتون
چون من سایتم با لاراول است به راحتی نمیتونم انتقال بدم به پایتون و اینکه بخوام در یک سرور دیگه پایتون رو ران کنم باید دیتابیس رو شیر کنم
چون اگر بخوام دوباره تو کرون برای هر کدوم به جای رکوئست به سایت مقصد به API که با پایتون آماده شده رکوئست بزنم تا حد زیادی باز داره همین اتفاق میفته ضمن اینکه چون دوتا رکوئست میشه میتونه سرعت رو کمتر هم بکنه
پیشنهادی دارید برای این چالش؟
@mehdi2private
سلام. نیازی نیست پروژه رو به پایتون منتقل کنید. همون بخش کرال رو با پایتون مینویسید و درخواستهاتون رو به اون میفرستید. عملا هم باری که به سرورها وارد میشه به خاطر حجم درخواست ها و اطلاعات بازگشتی میتونه کم و زیاد باشه و به خودی خود بار اعمال نمیشه. در هر حالت باری که با php و مخصوصا لاراول به واسطه کرال به سرورتون وارد میکنید چند ده برابر ارسال درخواست به پایتونی که روی سرور دیگه هست.
چون ما به واسطه همین درخواست به پایتون کارهای مختلفی انجام دادیم بهتون این اطمینان رو میدم که پرفورمنس سیستم شما خیلی بالاتر از حالتی هست که با لاراول انجام میدید.
یه نمونه دیگه هم که تجربه اش رو دارم بهتون میگم که ما قبلا روی یه پروژه رزرواسیون بلیت کنسرت میومدیم خروجی PDF بلیتهارو با لاراول و پکیج های ایجاد PDF میگرفتیم که فوق العاده افتصاح بود و کلا سرور رو با مشکل روبرو میکرد. اومدیم قسمت تولید و خروجی PDF رو روی پایتون انجام دادیم تعداد 1000 تا PDF بلیط A4 رو در کسری از ثانیه تولید میکرد و دانلود میداد بدون اینکه مشکلی پیش بیاد و کاربر به مشکل بخوره
در واقع پایتون برای پردازش کارهای سنگین خیلی بهتر از php عمل میکنه.
شما توی بخش های زیادی مثل ارسال پیامک ها و درگاه های پرداخت عملا به واسطه ارسال درخواست به سرورهای دیگه عملیات انجام میدید و اگه قرار باشه از ارسال درخواست به سرور های دیگه بترسید نمیتونید سیستم بهتری توسعه بدید.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟