نمایش نتایج 1 تا 10 از 10

نام تاپیک: ایجاد چندعملیات همزمان

  1. #1

    ایجاد چندعملیات همزمان

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

  2. #2
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: ایجاد چندعملیات همزمان

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

  3. #3

    نقل قول: ایجاد چندعملیات همزمان

    ببین
    فکرکن من ی وب سرویس نوشتم که وقتی کاربر استفاده میکنه ازش ادرس ی فایل رو میده
    بعد وب سرویس اونو دانلود میکنه و تغییرش میده
    بعد این پروسه 30 ثانیه طول میکشه تا به کاربر خروجی بده
    بعد وقتی که پروسه ای درحال اجرا باشه کاربر دوم هیچ خروجی ای نمیگیره تا فایل اولی تموم شه صفحه درحال لود میمونه
    من میخوام هرچندتا که شد باهم انجام بده
    مثلا شاید 5 نفر بخوان همزمان استفاده کنن
    به ی نفر گفتم گفت از async استفاده کن ولی هرچی توی گوگل نگاه کردم چیزی که مفهومی داشته باشه پیدانکردم

  4. #4
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: ایجاد چندعملیات همزمان

    async برای جاوا اسکریپت هستش
    تو php میگن thread
    مفهوم هردوشون اینه که به صورت موازی یک کار انجام بشه و یکی منتظر اون دیگری نمونه
    ولی خب php به ازای هر کاربر یک ترد ایجاد میکنه و به صورت دیفالت موازی هستن کاربر ها
    تستش سادت یک کد php بنویس که 20 ثانیه طول بکشه اجراش تا خروجی بده


    sleep(20);
    echo 'done';

    بعد 2 تا درخواست مختلف بفرست بهش مثلا توی 2 مروگر مختلف
    اگه موازی اجرا نشن یکیشون باید 20 ثانیه و دومی باید 40 ثانیه بعد خروجی بده ولی میبینی که اینجوری نیست و هردوش رو 20 ثانیه بعد از اجرا خروجی میده چون php درخواست ها رو به صورت موازی پردازش میکنه و منتظر دیگری نمیمونه تا تمام بشه
    پس مشکل از ارسال درخواست نیست , مشکل از کد دانلود فایلت هستش
    البته وقتی با فایل ها کار میکنی و فایل رو تغییر میدی این اتفاق ممکنه بیفته چون یک فایل بیشتر نیست و از نظر فیزیکی ممکن نیست همزمان 2 درخواست یک فایل رو تغییر بدن
    من نمیدونم چه تغییری روی فایل ایجاد میکنی و چجوری دانلود میکنی ولی این روش درستی نیست اگه تغییر نامش میدی بعد از هر دانلود

    روش صحیح برای دانلود اینه که بجای اینکه لینک مستقیم بدی به فایل مثلا

    site.com/file.zip


    تو دیتبایس لینک بسازی برای و از force download استفاده کنی
    توی دیتبایس یه تیبل میسازی به اسم مثلا download_links با این فیلد ها

    id , file_name , token , exp_date

    توی تیبل میریزی مشخصات رو

    id : 1
    file_name: file.zip
    token : xyz
    exp_date : 11/12/1398


    بعد لینک دانلودت میشه

    download.php?token=xyz

    تو اسکریپت download.php توکن رو از دیتبایس میخونی و نام فایل دانلودی رو میکشی بیرون
    بعد force download میکنی با php
    فورس دانلود یعنی بجای اینکه کاربر مستقیم به فایل دسترسی داشته باشه و دانلود کنه
    php فایل رو میخونه و به خورد کاربر میده
    بعد دانلود میتونی لینک رو از دیتبایس حذف کنی که دیگه اون لنیک کار نکنه

  5. #5

    نقل قول: ایجاد چندعملیات همزمان

    از تابع کپی استفاده کردم براش کپی میکنه فایلیو ک ادرس دادم
    بعدشم موزیک هستش
    وب سرویس مورد نظرم تغییر کاور موزیک و بقیه هستش
    بنظر شما چ روشی مناسبه همینی که گفتید؟

  6. #6
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: ایجاد چندعملیات همزمان

    یعنی وقتی کسی میخاد فایل رو دانلود کنه یه نسخه از فایل کپی میکنی رو سرور بهش لینک مستقیم به کپی رو میدی ؟
    مثل کامپیوتر خودت میمونه سرور
    وقتی یک فایل رو کپی میکنی قفل میشه اون فایل تا وقتی کپی تمام بشه و نمیشه بهش دسترسی داشت تا پایان کپی
    مشخصه که روش درستی نیست و اصال نیازی نداری به این کار

  7. #7

    نقل قول: ایجاد چندعملیات همزمان

    من ی ربات تلگرام نوشتم ربات تغییر کاور موزیک
    موزیک رو درون هاست ذخیره میکنه و عملیاتو انجام میده بعدش اپلود میکنه برای کاربر داخل تلگرام
    بنظر شما بهترین روش چیست؟

  8. #8
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: ایجاد چندعملیات همزمان

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

  9. #9

    نقل قول: ایجاد چندعملیات همزمان

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

  10. #10
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: ایجاد چندعملیات همزمان

    اگه هر کاربر فایل جدای خودش رو آپلود میکنه پس 2 کاربر روی 1 فایل مشترک کار نمیکنند و اون مشکل گیر کردن پشت یک فایل برای 2 کاربر وجود نداره

قوانین ایجاد تاپیک در تالار

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