স্বয়ংক্রিয় আপডেটগুলি ঠিক কীভাবে কাজ করে?


28

আমি আজ সকালে একটি ইমেল পেয়েছি যে আমার ওয়ার্ডপ্রেস সাইটটি স্বয়ংক্রিয়ভাবে সর্বশেষ সংস্করণে আপডেট হয়ে গেছে। বৈশিষ্ট্যটি সম্পর্কে আমি জানতাম তবে আমি কীভাবে এটি কাজ করে তা ঠিকই ভাবতাম।

পিএইচপি স্থায়ীভাবে চলমান প্রক্রিয়া নয়: এটি কেবল তখনই অনুরোধ করা হয়। আমি যতদূর বলতে পারি, ওয়ার্ডপ্রেস কেবল তখনই নিজেকে আপডেট করতে পারে যখন কেউ কোনও ওয়েব পৃষ্ঠা লোড করে। তবে আপডেট প্রক্রিয়াটি তাত্ক্ষণিক নয়, সুতরাং অবশ্যই সাইটটিতে আসা কোনও ব্যবহারকারীর সত্যই ধীর পৃষ্ঠার বোঝা থাকবে।

তারা স্বয়ংক্রিয় আপডেটের জন্য কী আলাদা কৌশল ব্যবহার করে? আমি পুরো জায়গা জুড়ে অনুসন্ধান করেছি কিন্তু কোনও ব্যাখ্যা পাইনি।


সুনির্দিষ্টভাবে বলতে গেলে এটি কেবল তখনই আপডেট হবে যখন একটি নতুন নাবালিক বা সুরক্ষা আপডেট প্রকাশিত হবে উদাহরণস্বরূপ 3.8 থেকে 3.8.1 পর্যন্ত কিন্তু যখন 3.9 প্রকাশিত হবে (প্রধান সংস্করণ আপডেট হিসাবে) তখন আপনাকে এটি ম্যানুয়ালি করতে হবে।
বোরেক

উত্তর:


15

পিএইচপি স্থায়ীভাবে চলমান প্রক্রিয়া নয়: এটি কেবল তখনই অনুরোধ করা হয়। আমি যতদূর বলতে পারি, ওয়ার্ডপ্রেস কেবল তখনই নিজেকে আপডেট করতে পারে যখন কেউ কোনও ওয়েব পৃষ্ঠা লোড করে। তবে আপডেট প্রক্রিয়াটি তাত্ক্ষণিক নয়, সুতরাং অবশ্যই সাইটটিতে আসা কোনও ব্যবহারকারীর সত্যই ধীর পৃষ্ঠার বোঝা থাকবে।

তারা স্বয়ংক্রিয় আপডেটের জন্য কী আলাদা কৌশল ব্যবহার করে? আমি পুরো জায়গা জুড়ে অনুসন্ধান করেছি কিন্তু কোনও ব্যাখ্যা পাইনি।

আপনি এখানে যে সিস্টেমটির সন্ধান করছেন তাকে "ডাব্লুপি ক্রোন" বলা হয়। এটি ওয়ার্ডপ্রেসে একটি ব্যাকগ্রাউন্ড প্রক্রিয়া সিস্টেম যা সাধারণ প্রক্রিয়াজাতকরণের বাইরে ইভেন্টগুলি ঘটতে দেয়। তাদের লাথি মেরে ফেলার জন্য তাদের এখনও একটি ট্রিগার দরকার তবে পটভূমি প্রক্রিয়াটির কারণে তারা পৃষ্ঠা লোডগুলির সাথে হস্তক্ষেপ করে না।

হ্যাঁ, আপনার পৃষ্ঠাটি অবশ্যই কাউকে লোড করতে হবে। ডিফল্ট-ফিল্টার.এফপি ফাইলের বাইরে আপনি কোডের এই লাইনটি খুঁজে পাবেন:

add_action( 'init', 'wp_cron' );

সুতরাং, প্রতিটি পৃষ্ঠার লোডে, wp_cron ফাংশনটি চলে। এই ফাংশনটি ডব্লিউপি-অন্তর্ভুক্ত / ক্রোন.এফপি এবং এটি কী করে তা ডেটাবেজে নির্ধারিত ইভেন্টগুলি পরীক্ষা করে। যদি কোনও প্রসেস থাকে তবে এটি ব্যাকগ্রাউন্ডে চালানো দরকার, তবে এটি ফাংশনটিকে স্পন_ক্রন বলে।

স্পন ক্রোনটির অপারেশনের দুটি সম্ভাব্য পদ্ধতি রয়েছে তবে প্রথম এবং সর্বাধিক সাধারণ হ'ল ডাব্লুপি-ক্রোন.এফপি এর ইউআরএলটিতে নিজের সাথে একটি সংযোগ তৈরি করার জন্য ডাব্লুপি_আরমোট_পোস্ট ফাংশনটি কল করা। এই অতিরিক্ত এইচটিটিপি অনুরোধ করে, এটি প্রকৃত সমস্ত কাজ করার জন্য আরেকটি পিএইচপি প্রক্রিয়া শুরু করে। এটি এখানে যে অনুরোধ করে তা 0.01 সেকেন্ডের সময়সীমা সহ অবরুদ্ধ নয়। সুতরাং, এটি আসলে এখানে কোনও ফলাফল পায় না। অনুরোধের উদ্দেশ্যটি কেবল ব্যাকগ্রাউন্ডে একটি নতুন প্রক্রিয়া শুরু করা। এটি সম্পন্ন করার পরে, এটি কেবল ফিরে আসে, যাতে দেখার ব্যবহারকারীর কখনও কোনও বিলম্ব হয় না।

ডাব্লুপি-ক্রোন.এফপি প্রক্রিয়াটি হ'ল প্রকৃত কাজটি, আপডেট এবং অন্যান্য কি করে। ওয়ার্ডপ্রেসে প্রচুর প্রক্রিয়া ক্রোন সিস্টেম দ্বারা পরিচালিত হয়। তফসিলযুক্ত পোস্ট প্রকাশনা, প্রসেসিং পিংস, আপডেট চেকগুলি, সাধারণ প্রবাহের বাইরে যা হওয়ার দরকার তা নির্ধারিত হয়ে যায় এবং তারপরে প্রয়োজনীয় ভিত্তিতে চালানো যেতে পারে।

তবে হ্যাঁ, প্রক্রিয়াটি শুরু করার জন্য সাইটে অবশ্যই একটি সাধারণ হিট অবশ্যই ঘটবে। এবং না, ওয়ার্ডপ্রেস.আরোগ সরাসরি জিনিসগুলি বন্ধ করতে আপনার সাইটে যোগাযোগ করে না, এটি শুরু করার জন্য আপনার সাইটটিকে কিছুটা ট্র্যাফিক গ্রহণ করতে হবে। যেকোন ধরণের ট্র্যাফিক করবে।


17

আসলে, স্বয়ংক্রিয় আপডেট থেকে push করা হয় wp.org। আপডেট প্রক্রিয়াটি এখনও আপনার সাইটে চলছে তবে পটভূমিতে wp-cron

যখন একটি নতুন গৌণ আপডেট প্রকাশিত হয়, তখন ওয়ার্ডপ্রেসের ছেলেরা আপডেটটি রোল আউট শুরু করে। প্রকৃত আপডেট প্রক্রিয়াটি আপনার সাইট wp.orgআপডেটের জন্য চেক করার পরে শুরু হয় , একটি আপডেট তাত্ত্বিকভাবে উপলব্ধ থাকে এবং আপডেট করার জন্য আপনার সাইটটি এলোমেলোভাবে বেছে নেওয়া হয়।


(আমার ভুল শব্দটি নির্দেশ করার জন্য আপনাকে @ ধন্যবাদ ধন্যবাদ :))


প্রতিটি সাইট যেমন wp.orgনতুন সংস্করণ (সাধারণত দিনে দুবার ব্যবহার করে wp-cron) পরীক্ষা করে দেখায় , রোলআউটভার জানি যে কতগুলি সাইটের আপডেটের প্রয়োজন।

তারপরে রোলআউটটি ধীরে ধীরে শুরু হয় - 128 টির মধ্যে 1 টি স্বয়ংক্রিয়ভাবে আপডেট হয়। এটি পর্যবেক্ষণ করা হচ্ছে, এবং যদি উত্তরসূরিটি রোলআউটে কোনও সমস্যা নির্দেশ করে না, সমস্ত স্বয়ংক্রিয় আপডেট সরবরাহ না হওয়া পর্যন্ত বেশিরভাগ সাইটগুলি স্বয়ংক্রিয় আপডেট হয় (সাধারণত পরবর্তী পদক্ষেপটি 64৪ এর মধ্যে ১ হবে এবং এইভাবে বাড়ানো অবিরত থাকবে)।

এটি ডেভেলপার-দের রোলআউট থামাতে সক্ষম করে তবে কোন সমস্যা ঘটে, কিন্তু থেকে সর্বশেষ আপডেট 3.8করার 3.8.1100% সাফল্যের হার ছিল।

দ্বারা নির্বাচিত সাইটগুলি 1 out of 128আসলে এলোমেলো। ঠিক আছে, সত্যিই নয়, তবে আপনি যদি জানতে চান তবে এটি এর মতো কাজ করে:

আপডেটের প্রয়োজন সাইটের url ব্যবহার করে হ্যাশ হয়ে যায় MD5। এই হ্যাশটির প্রথম প্রথম তিনটি অক্ষর ব্যবহার এবং এটিকে রূপান্তর করা base10, এর ফলাফল 4096 সম্ভাব্যতায় রয়েছে। 0 থেকে 31 (4096/32 = 128) এর মধ্যে গণনা করা সংখ্যক সাইটগুলির জন্য আপডেটটি শুরু হয়েছিল।

ঠিক আছে, আমার ধারণা এটি সর্বোপরি এলোমেলো;)

আমার ক্ষেত্রে, আমি প্রচুর ওয়ার্ডপ্রেস সাইট চালানোর সাথে সাথে আপডেটগুলি 1 দিন লেগেছিল - সমস্ত পৃষ্ঠা আপডেট হওয়ার পরে তা দেখতে মজার ছিল।

আপনি যদি ভাবছিলেন যে ক্ষেত্রে: ডি

বিটিডব্লিউ , এখানে প্রক্রিয়াটি বর্ণনা করার মতো Make.wordpress.org সম্পর্কিত একটি নিবন্ধ রয়েছে।


যদি এটি "wp.org থেকে আপনার সাইটে অনুরোধের মাধ্যমে শুরু করা হয়" তবে কীভাবে এটি নিরাপদ? আপনার সাইটে কেউ একটি অনুরোধ পাঠাতে পারেননি?
অসন্তুষ্ট গোয়াট

আসলে, আমি জানি না কীভাবে এটি প্রযুক্তিগতভাবে পরিচালিত হয়। তবে আমি নিশ্চিত যে সুরক্ষা চেকগুলি আছে যেমন ননস এবং / অথবা অনুরোধটি আসে।
ফিশচি

1
@ ফিশচি আপনি কি এই তথ্যটি পেয়েছিলেন যা ডাব্লুপি.আর.জি. আপডেট আপডেট শুরু করে? Wp.org আপডেট শুরু করার জন্য বা ওয়ার্ডপ্রেস সাইট আপডেটের জন্য পরীক্ষা করা এবং তারপরে আপডেটটি নিজেই শুরু করার মধ্যে একটি বিরাট পার্থক্য রয়েছে যদি ডাব্লুপি.আর.জিগ জানায় যে আপডেট রয়েছে।
ক্র্যাফটনার

1
এই উত্তরটি আসলে ভুল। আপডেট প্রক্রিয়াটি আপনার সাইটে WordPress.org দ্বারা শুরু করা হয়নি। এটি বন্ধ করার জন্য আপনার সাইটে সত্যই কোনও ধরণের ট্র্যাফিক থাকা দরকার, তবে ওয়ার্ডপ্রেস.অর্গ.আপনার সাইটটি সরাসরি পিং করে না।
অটো

1
ঠিক আছে তবে "wp.org থেকে আপনার সাইটে অনুরোধের মাধ্যমে শুরু করা হয়েছে" ভুল। আপনার সাইটটি আপডেটের অনুরোধ করে এবং প্রতিক্রিয়া আপনাকে জানায় যে আপডেট আছে কিনা whether এটি অন্য উপায়ে নয়, আপনার সাইটের প্রক্রিয়াটি শুরু করতে হবে।
অটো

1

খুব বিস্তৃত শর্তে, যখন কোনও ব্যবহারকারী সাইট টাইপের মেয়াদোত্তীর্ণ হওয়ার জন্য ওয়ার্ডপ্রেস চেক করে এবং কোনও মেয়াদ শেষ হয়ে যায় তবে অন্য একটি অনুরোধ সার্ভারকে মেয়াদোত্তীর্ণ ইভেন্টের সাথে সম্পর্কিত ক্রিয়াকলাপগুলি "চালাতে" প্রেরণ করা হয়। এই কারণেই ব্যবহারকারী পৃষ্ঠার লোডে কোনও লক্ষণীয় বিলম্ব অনুভব করেন না, কারণ সার্ভারটি পৃথক প্রক্রিয়াতে প্রকৃত ক্রিয়া (এই ক্ষেত্রে আপগ্রেড) চালাচ্ছে।

এটি কাজ করে তবে সময়টি খুব সঠিক নয়। আপনার সাইটে যত বেশি ট্র্যাফিক থাকবে এটি তত বেশি নির্ভুল হবে।

যে লোকেরা আরও ভাল পারফরম্যান্স এবং আরও সঠিক সময় পেতে চান তারা অভ্যন্তরীণ ক্রোন "প্রক্রিয়া" ওয়ার্ডপ্রেসটি ব্লক করতে পারে এবং টাইমারগুলির অনুসন্ধানে ট্রিগার করতে ওএস ক্রোন প্রক্রিয়াটি ব্যবহার করতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.