crontab সময়সূচি কার্যকলাপ
workerman/crontab
বর্ণনা
workerman/crontab
লিনাক্সের crontab এর মতো, তবে workerman/crontab
প্রযোজ্য সেকেন্ডের সময়সূচি সমর্থন করে।
সময় বিবরণ:
0 1 2 3 4 5
| | | | | |
| | | | | +------ সপ্তাহের দিন (0 - 6) (রবিবার=0)
| | | | +------ মাস (1 - 12)
| | | +-------- মাসের দিন (1 - 31)
| | +---------- ঘন্টা (0 - 23)
| +------------ মিনিট (0 - 59)
+-------------- সেকেন্ড (0-59)[অপ্রয়োজ্য, যদি 0 না থাকে, তবে সর্বনিম্ন সময় ধারণের সময়খণ্ড মিনিট]
প্রজেক্ট লিঙ্ক
https://github.com/walkor/crontab
ইনস্টলেশন
composer require workerman/crontab
ব্যবহার
ধাপ ১: একটি প্রক্রিয়া ফাইলprocess/Task.php
তৈরী করুন
<?php
namespace process;
use Workerman\Crontab\Crontab;
class Task
{
public function onWorkerStart()
{
// প্রতি সেকেন্ড নির্বাচন করুন
new Crontab('*/1 * * * * *', function(){
echo date('Y-m-d H:i:s')."\n";
});
// প্রতি 5 সেকেন্ডে নির্বাচন করুন
new Crontab('*/5 * * * * *', function(){
echo date('Y-m-d H:i:s')."\n";
});
// প্রতি মিনিটে নির্বাচন করুন
new Crontab('0 */1 * * * *', function(){
echo date('Y-m-d H:i:s')."\n";
});
// প্রতি 5 মিনিটে নির্বাচন করুন
new Crontab('0 */5 * * * *', function(){
echo date('Y-m-d H:i:s')."\n";
});
// প্রতি মিনিটের প্রথম সেকেন্ড নির্বাচন করুন
new Crontab('1 * * * * *', function(){
echo date('Y-m-d H:i:s')."\n";
});
// প্রতি দিনের 7 ঘণ্টা 50 মিনিটে নির্বাচন করুন, দয়া করে দেখুন, এখানে সেকেণ্ড বিছারা করা হয়নি
new Crontab('50 7 * * *', function(){
echo date('Y-m-d H:i:s')."\n";
});
}
}
ধাপ ২: পেশার ফাইল উপর কনফিগারেশন ফাইল সাথে পুনরারম্ভ করুন
return [
....অন্যান্য কনফিগারেশন, এখানে অপইট করা হয়েছে....
'task' => [
'handler' => process\Task::class
],
];
ধাপ ৩: webman পুনরারম্ভ করুন
লক্ষ্য করুন: সময়সূচী কার্যকারিতা তাৎক্ষণিক ভাবে কাজ না করলে, সময়সূচী কার্যকারিতা পরবর্তী মিনিটে কার্যকারিতা শুরু করবে।
বর্ণনা
crontab প্রথমে কোনো কাজ না, যেমন একটি টাস্ক প্রক্রিয়ায় A এবং B দুটি সময়সূচী নির্ধারিত করেছে, সেগুলি প্রতি সেকেন্ডে একটি কাজ করবে, তবে A টাস্ক কোনো সময় 10 সেকেন্ড নিত, তাহলে B টি প্রক্রিয়া শেষ হতে হবে, যাতে B কার্যকারিতা নির্ধারিত করতে পারে, এমনকি আন্দোলন সময়ের মধ্যে কিছুটা বিলম্ব হতে পারে।
যদি ব্যবসা সময় অনুবাদের জন্য অত্যন্ত সতর্ক হয়, তাহলে সময়বিষয়ক সময়সূচি কার্যকারিতা থাকলে আলাদা প্রক্রিয়া প্রক্রিয়াকে চালিয়ে যাবার জন্য, অন্যত্র চালিত করা হয়, উদাহরণ সম্পন্ন করা হয় config/process.php
return [
....অন্যান্য কনফিগারেশন, এখানে অপইট করা হয়েছে....
'task1' => [
'handler' => process\Task1::class
],
'task2' => [
'handler' => process\Task2::class
],
];
সময় সতর্কতার জন্য সনাক্ত করুন যে সময়সূচী কার্যকারিতা দিয়ে বিপর্যয় করা হয় বাদ দিয়ে অন্য সময়সূচী কার্যকারিতা পাস হয়, উদাহরণ config/process.php
এর জন্য যাচাই করুন
অধিক
বিস্তারিত কনফিগারেশনের জন্য config/process.php
কনফিগারেশন নির্দেশিকা দেখুন কাস্টম প্রক্রিয়া