نمایش نتایج: از شماره 1 تا 9 , از مجموع 9

موضوع: مشکل در اجرای اسکریپت با کرون جاب

  1. #1
    عضو انجمن
    تاریخ عضویت
    Sep 2017
    نوشته ها
    102
    تشکر تشکر کرده 
    90
    تشکر تشکر شده 
    24
    تشکر شده در
    22 پست

    Question مشکل در اجرای اسکریپت با کرون جاب

    سلام و درود

    یه اسکریپت php دارم که باید همیشه در حال اجرا باشه.

    اینو به کرون جاب گفتم هر دقیقه اجراش کنه.

    مشکل اینجاست که فقط یه بار میخوام اجرا بشه و اگر در حال اجرا باشه دیگه کرون جابه اجراش نکنه. این مورد رو چطور باید هندل کرد؟

    دسترسی به سرور ندارم و هاست سی پنل هست.

    دوستان اگر راه حلی به ذهنتون میرسه لطفا به اشتراک بذارید.

    سپاس

  2. # ADS




     

  3. #2
    عضو انجمن SaeedFazlollahzadeh آواتار ها
    تاریخ عضویت
    Jan 2015
    محل سکونت
    تهران
    نوشته ها
    487
    تشکر تشکر کرده 
    1,058
    تشکر تشکر شده 
    690
    تشکر شده در
    483 پست

    پیش فرض پاسخ : مشکل در اجرای اسکریپت با کرون جاب

    سلام
    کلیدواژه های crontab doesn't run if already running رو در گوگل می تونید سرچ کنید و نتایج رو مطالعه کنید.
    معمولا امکان اجرای فایل بش یا دستورات اون رو دارید چون کرون جاب کامندهای لینوکس رو اجرا می کنه.
    نتایج رو چک کنید ببینید امکان و دسترسی اجرای اون ها رو دارید یا خیر.

  4. تعداد تشکر ها از SaeedFazlollahzadeh به دلیل پست مفید


  5. #3
    عضو انجمن
    تاریخ عضویت
    Sep 2017
    نوشته ها
    102
    تشکر تشکر کرده 
    90
    تشکر تشکر شده 
    24
    تشکر شده در
    22 پست

    پیش فرض پاسخ : مشکل در اجرای اسکریپت با کرون جاب

    نقل قول نوشته اصلی توسط SaeedFazlollahzadeh نمایش پست ها
    سلام
    کلیدواژه های crontab doesn't run if already running رو در گوگل می تونید سرچ کنید و نتایج رو مطالعه کنید.
    معمولا امکان اجرای فایل بش یا دستورات اون رو دارید چون کرون جاب کامندهای لینوکس رو اجرا می کنه.
    نتایج رو چک کنید ببینید امکان و دسترسی اجرای اون ها رو دارید یا خیر.
    ممنونم بابت توجهتون. با سرچ کلید واژه ای که فرمودید به تابعی به نام flock رسیدم و متوجه نشدم شیوه عملکردش رو.

    کد:
    $f = fopen('lock', 'w') or die ('Cannot create lock file');
    if (flock($f, LOCK_EX | LOCK_NB)) {
        // yay
    }

    به عنوان مثال داخل کد بالا دقیقا چه اتفاقی داره میوفته.
    اون فایل lock که ساخته میشه دسترسی بهش توسط سایر پروسس ها قفل میشه یا فایل PHP ای که داخلش این کد هست؟

    لطفا هر کدوم از دوستان که اطلاعی راجع به flock داره راهنمایی کنه >:D

  6. #4
    عضو انجمن
    تاریخ عضویت
    Apr 2014
    نوشته ها
    297
    تشکر تشکر کرده 
    19
    تشکر تشکر شده 
    303
    تشکر شده در
    245 پست

    پیش فرض پاسخ : مشکل در اجرای اسکریپت با کرون جاب

    بهتره زمان اجرای کران جاب محدود باشه و مشخص
    مثلا کران جاب نهایتا 5 دقیقه فعال باشه و هر 5 دقیقه مجدد اجرا بشه
    البته باید max_execution_time هم در نظر بگیری که از تایم اجرات کمتر نباشه
    ترجمه متون تخصصی ---- تدریس خصوصی
    اسکریپت نویسی php

  7. تعداد تشکر ها از hamid53214 به دلیل پست مفید


  8. #5
    عضو انجمن
    تاریخ عضویت
    Sep 2017
    نوشته ها
    102
    تشکر تشکر کرده 
    90
    تشکر تشکر شده 
    24
    تشکر شده در
    22 پست

    پیش فرض پاسخ : مشکل در اجرای اسکریپت با کرون جاب

    نقل قول نوشته اصلی توسط hamid53214 نمایش پست ها
    بهتره زمان اجرای کران جاب محدود باشه و مشخص
    مثلا کران جاب نهایتا 5 دقیقه فعال باشه و هر 5 دقیقه مجدد اجرا بشه
    البته باید max_execution_time هم در نظر بگیری که از تایم اجرات کمتر نباشه
    درود بر شما

    والا نمیخوام اونطور باشه که هر مثلا 5 دقیقه با max_execution_time محدود کنم اجراش رو دوباره کرون جاب اجراش کنه. میخوام که اگر در حال اجرا نبود کرون جاب اجراش کنه.
    علتش هم اینه که تا اسکریپت کامل راه اندازی بشه 30 ثانیه زمان میبره و نمیخوام این 30 ثانیه هر 5 دقیقه هی تکرار بشه.

  9. #6
    عضو دائم T.Toosi آواتار ها
    تاریخ عضویت
    Jun 2015
    نوشته ها
    1,071
    تشکر تشکر کرده 
    278
    تشکر تشکر شده 
    2,936
    تشکر شده در
    1,329 پست

    پیش فرض پاسخ : مشکل در اجرای اسکریپت با کرون جاب

    باسلام، شما اول اسکریپت بزن یک فایل run بسازد، زمان اتمام کار هم فایل run پاک کند. سپس قبل اجرای اسکریپت چک کنید اگر فایل run موجود بود exit کنید.

  10. تعداد تشکر ها از T.Toosi به دلیل پست مفید


  11. #7
    عضو انجمن
    تاریخ عضویت
    Sep 2017
    نوشته ها
    102
    تشکر تشکر کرده 
    90
    تشکر تشکر شده 
    24
    تشکر شده در
    22 پست

    پیش فرض پاسخ : مشکل در اجرای اسکریپت با کرون جاب

    نقل قول نوشته اصلی توسط T.Toosi نمایش پست ها
    باسلام، شما اول اسکریپت بزن یک فایل run بسازد، زمان اتمام کار هم فایل run پاک کند. سپس قبل اجرای اسکریپت چک کنید اگر فایل run موجود بود exit کنید.
    درود بر شما

    بله دقیقا من معمولا همین کار رو میکنم ولی یه بار سرور ریست شد و در نتیجه اسکریپت از کار افتاد.
    دنبال راهی هستم که در صورت متوقف شدن ناگهانی اسکریپت کرون جاب دوباره سریعا اجراش کنه.

  12. #8
    عضو دائم T.Toosi آواتار ها
    تاریخ عضویت
    Jun 2015
    نوشته ها
    1,071
    تشکر تشکر کرده 
    278
    تشکر تشکر شده 
    2,936
    تشکر شده در
    1,329 پست

    پیش فرض پاسخ : مشکل در اجرای اسکریپت با کرون جاب

    نقل قول نوشته اصلی توسط esi20 نمایش پست ها
    درود بر شما

    بله دقیقا من معمولا همین کار رو میکنم ولی یه بار سرور ریست شد و در نتیجه اسکریپت از کار افتاد.
    دنبال راهی هستم که در صورت متوقف شدن ناگهانی اسکریپت کرون جاب دوباره سریعا اجراش کنه.
    باسلام، اگر دسترسی روت سرور دارید از @reboot داخل crontab استفاده کنید، به طور مثال اگر اسکریپت در حال اجرا بود و سرور ریبوت شد، فایل run میمونه و دفعه بعدی اسکریپت exit میشه. یک اسکریپت دیگه بنویسید که کارش فقط پاک کردن فایل run باشد بعد کرون زیرو اضافه کنید، اگر دسترسی روت ندارید تنها چیزی که به فکرم میرسه اینه که یک اسکریپت دیگه بزنید تایم فایل (اختلاف created با تایم حال) run چک کنه، مثلا اگر بیشتر از 5 دقیقه بود پاک کند.

    کد:
    @reboot php deleteRun.php

  13. تعداد تشکر ها از T.Toosi به دلیل پست مفید


  14. #9
    عضو انجمن
    تاریخ عضویت
    Sep 2017
    نوشته ها
    102
    تشکر تشکر کرده 
    90
    تشکر تشکر شده 
    24
    تشکر شده در
    22 پست

    پیش فرض پاسخ : مشکل در اجرای اسکریپت با کرون جاب

    نقل قول نوشته اصلی توسط T.Toosi نمایش پست ها
    باسلام، اگر دسترسی روت سرور دارید از @reboot داخل crontab استفاده کنید، به طور مثال اگر اسکریپت در حال اجرا بود و سرور ریبوت شد، فایل run میمونه و دفعه بعدی اسکریپت exit میشه. یک اسکریپت دیگه بنویسید که کارش فقط پاک کردن فایل run باشد بعد کرون زیرو اضافه کنید، اگر دسترسی روت ندارید تنها چیزی که به فکرم میرسه اینه که یک اسکریپت دیگه بزنید تایم فایل (اختلاف created با تایم حال) run چک کنه، مثلا اگر بیشتر از 5 دقیقه بود پاک کند.

    کد:
    @reboot php deleteRun.php
    والا دسترسی روت ندارم ولی چیزی که فرمودید رو اینطور برداشت کردم.
    یعنی من توی هر لوپ اسکریپت اصلی بیام فایل ران رو تاچ کنم بعد اون یکی اسکریپت اگر 5 مین از آخرین تاچ شدن فایل گذشته بود run رو حذف کنه؟

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. فروش ویژه اسکریپت اختصاصی سایت فیلم و سریال و اسکریپت فروشگاهی
    توسط alexa_host در انجمن فروش انواع اسکریپت،سیستم عامل،نرم افزار و ..
    پاسخ ها: 12
    آخرين نوشته: April 20th, 2020, 19:23
  2. درخواست نام این اسکریپت Vip ( تصویر اسکریپت در پست 1 )
    توسط ferari در انجمن درخواست انواع اسکریپت،سیستم عامل،نرم افزار و ..
    پاسخ ها: 0
    آخرين نوشته: August 26th, 2015, 08:12
  3. اسکریپت به اسکریپت یا به هاست دسترسی داره؟؟؟!؟!؟!
    توسط looneir در انجمن سیستم های مدیریت محتوا
    پاسخ ها: 5
    آخرين نوشته: September 13th, 2013, 01:53

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •