netwons

مشکل پروژه در هاست (به صورت ربات ساخته شده)

netwons ۱۳۹۷/۱۲/۲۱ مباحث عمومی برنامه‌نویسی

من چند وقتی هست که پروژه خودم رو روی هاست قرار دادم که یک ربات هست که میره اطلاعاتی رو از سایت های خبری میگیره اما بعد از چندین ساعت میبینم که دیگه کار نمیکنه(یعنی اطلاعاتی رو نمیگیره)ودر دیتابیس ذخیره نمیکنه چطوری میتونم مانیتورینگ کنم و ببینم مشکل از کجاس
راستی شنیدم که امکان داره خود سرور ها بهد از چند ساعت سیستم خود را دان میکنند تا از اطلاعات سرورشون بکاپ بگیرن امکان داره از این باشه یا نه؟

پاسخ‌ها به این تاپیک
امیرحسین مجیری
امیرحسین مجیری دوست‌دار داده‌ها، پی‌اچ‌پی و پژوهش روی زبان
۱۳۹۷/۱۲/۲۴

سلام

حدس من اینه که شما از طریق وب‌اسکرپینگ، خبرها رو می‌خونید و در سایت خودتون استفاده می‌کنید. سایت‌های مختلف برای جلوگیری از حملات دی‌داس و دسترسی‌های غیرمجاز ربات‌ها، دسترسی‌های مداوم از یک آی‌پی و یا دسترسی‌های مداوم ربات‌ها به سایتشون رو مسدود می‌کنند تا بار سایت بالا نره و سایت از کار نیفته. برای همینه که خیلی از سایت‌ها برای دسترسی به اطلاعاتشون، ای‌پی‌آی (api) تعریف می‌کنند تا بتونند دسترسی‌ها رو کنترل کنند.

بنابر این اگر به هر دلیل مجبورید از وب‌اسکرپینگ استفاده کنید، بهتره در ارسال درخواست‌هاتون چند ثانیه تاخیر بندازید و تعداد درخواست‌های ارسالی رو هم محدود کنید.

برای مانیتور مشکل هم بهتره وقتی درخواست می‌فرستید هدینگ‌های صفحات درخواستی و کدهای بازگشتی http رو کنترل کنید تا دیدی کلی نسبت به خطای مورد نظر پیدا کنید.

این جا اطلاعاتی درباره‌ی پیام‌های اچ‌تی‌تی‌پی می‌یابید:

آشنایی با پیام های اچ تی تی پی

netwons
netwons
۱۳۹۷/۱۲/۲۴

چطوری از پیام های اچ تی تی پی در کدهای phpخودم استفاده کنم و بگم که اگه برنامه متوقف شده بیا از ادامه کار اطلاعات رو بگیر اگه میشه با مثال بگید و اینکه برای ایجاد وقفه از sleep استفاده کنم اگه از sleep استفاده کنم به نظر شما چند ثانیه وقفه ایجاد کنم

در پاسخ به

امیرحسین مجیری
امیرحسین مجیری دوست‌دار داده‌ها، پی‌اچ‌پی و پژوهش روی زبان
۱۳۹۷/۱۲/۲۴

اگر از curl استفاده می‌کنید می‌تونید از کدی مشابه این جا استفاده کنید و status code درخواست مورد نظر رو بخونید.

درباره‌ی مدت زمان مناسب sleep ایده‌ی مشخصی ندارم. اما مثلن این جا پیشنهاد دو تا ده ثانیه رو داده.

در پاسخ به