سوال در مورد تنظیم کرون جاب برای php
سلام و درود
فرض کنید یه فایل php رو یک کرون جاب در سی پنل هر دقیقه اجرا میکنه.
من میخوام یه کاری کنم که اگر فایل در حال اجرا بود (یعنی توی یک دقیقه کارش تموم نشده بود) دیگه کرون جاب دوباره اجراش نکنه که توی کارش اختلال ایجاد شه.
راه حل این مشکل چیه؟
تشکر
پاسخ : سوال در مورد تنظیم کرون جاب برای php
نقل قول:
نوشته اصلی توسط
naghmesra
سلام و درود
فرض کنید یه فایل php رو یک کرون جاب در سی پنل هر دقیقه اجرا میکنه.
من میخوام یه کاری کنم که اگر فایل در حال اجرا بود (یعنی توی یک دقیقه کارش تموم نشده بود) دیگه کرون جاب دوباره اجراش نکنه که توی کارش اختلال ایجاد شه.
راه حل این مشکل چیه؟
تشکر
سلام وقت بخیر
بهترین کار اینکه بصورت دستی فایل رو اجرا کنید ببنید چقدر زمان میبره تا کامل کارشو انجام بده
زمان بدست اومده مثلا اگه تو 2 دقیقه شد زمان رو 3 دقیقه ست کنید.
به همین سادگی :53:
پاسخ : سوال در مورد تنظیم کرون جاب برای php
درود
نقل قول:
سلام وقت بخیر
بهترین کار اینکه بصورت دستی فایل رو اجرا کنید ببنید چقدر زمان میبره تا کامل کارشو انجام بده
زمان بدست اومده مثلا اگه تو 2 دقیقه شد زمان رو 3 دقیقه ست کنید.
به همین سادگی :53:
بله خوب اینم راهی هست.
ولی متاسفانه چون زمان اجرا بستگی به چند فاکتور داره و همیشه ثابت نیست حتی ممکنه یه اجرا 1 ساعت زمان ببره به همین علت دنبال چاره دیگری برای حل این مشکل هستم.
تشکر
پاسخ : سوال در مورد تنظیم کرون جاب برای php
سلام
راه های زیادی وجود داره
ساده ترین راه این هست که کرون جاب زمانی که اجرا میشه کنار خودش یک فایل ایجاد کنه ( مثلا run.txt ) و زمانی که کارش تموم شد فایل رو حذف کنه
حالا باید در فایل php کرون تعریف کنید در صورتی که فایل run.php وجود داشت دستوری اجرا نشه و پروسه اجرای کرون بسته بشه
مثال : http://pastecode.ir/?p=104435
در این کد تعریف شده اگه فایل run.txt وجود داشت کرون کار نکنه
اما اگه فایل run.txt وجود نداشت این فایل رو بسازه و بعد از ساخت اون دستورات PHP مربوط به کرون رو اجرا کنه و بعد از اینکه کارش تموم شد فایل run.txt رو حذف کنه تا در صورت اجرای مجدد کرون تشخیص بده که کرون دیگه ای در حال اجرا نیست
----
راه های زیادی هست, همینوی میشه به دیتابیس متصل کرد یا راه های دیگه که با کمی فکر و ابتکار عمل میشه اجرا و پیاده سازی کرد
پاسخ : سوال در مورد تنظیم کرون جاب برای php
درود
نقل قول:
سلام
راه های زیادی وجود داره
ساده ترین راه این هست که کرون جاب زمانی که اجرا میشه کنار خودش یک فایل ایجاد کنه ( مثلا run.txt ) و زمانی که کارش تموم شد فایل رو حذف کنه
حالا باید در فایل php کرون تعریف کنید در صورتی که فایل run.php وجود داشت دستوری اجرا نشه و پروسه اجرای کرون بسته بشه
مثال :
http://pastecode.ir/?p=104435
در این کد تعریف شده اگه فایل run.txt وجود داشت کرون کار نکنه
اما اگه فایل run.txt وجود نداشت این فایل رو بسازه و بعد از ساخت اون دستورات PHP مربوط به کرون رو اجرا کنه و بعد از اینکه کارش تموم شد فایل run.txt رو حذف کنه تا در صورت اجرای مجدد کرون تشخیص بده که کرون دیگه ای در حال اجرا نیست
----
راه های زیادی هست, همینوی میشه به دیتابیس متصل کرد یا راه های دیگه که با کمی فکر و ابتکار عمل میشه اجرا و پیاده سازی کرد
به مورد خوبی اشاره کردید.
فقط یه سوال توی else نوشتید return false نمیشه else رو خالی گذاشت؟
تشکر
پاسخ : سوال در مورد تنظیم کرون جاب برای php
نقل قول:
نوشته اصلی توسط
naghmesra
درود
به مورد خوبی اشاره کردید.
فقط یه سوال توی else نوشتید return false نمیشه else رو خالی گذاشت؟
تشکر
درود
به این شکل استفاده کنید : http://pastecode.ir/?p=114078