workerman/crontab
বিবরণ
workerman/crontab একটি workerman ভিত্তিক সময়সূচী কার্যক্রম, যা linux এর crontab এর মতো। workerman/crontab সেকেন্ড মাপের সময়সূচী সমর্থন করে।
workerman/crontabব্যবহার করতে হলে প্রথমে php-এর টাইমজোন ঠিক করতে হবে, অন্যথায় চালানোর ফলাফল প্রত্যাশার মতো হতে নাও পারে।
সময় বর্ণনা
0 1 2 3 4 5
| | | | | |
| | | | | +------ সপ্তাহের দিন (0 - 6) (রবিবার=0)
| | | | +------ মাস (1 - 12)
| | | +-------- মাসের দিন (1 - 31)
| | +---------- ঘণ্টা (0 - 23)
| +------------ মিনিট (0 - 59)
+-------------- সেকেন্ড (0-59)[মিছা যেতে পারে, যদি সেকেন্ড না থাকে, তবে সর্বনিম্ন সময়ের গঠন হল মিনিট]
ইনস্টলেশন
composer require workerman/crontab
উদাহরণ
<?php
use Workerman\Worker;
require __DIR__ . '/vendor/autoload.php';
use Workerman\Crontab\Crontab;
$worker = new Worker();
// টাইমজোন সেট করুন, অন্যথায় ফলাফল প্রত্যাশার সঙ্গে অসমঞ্জস হতে পারে
date_default_timezone_set('PRC');
$worker->onWorkerStart = function () {
// প্রতি মিনিটের 1ম সেকেন্ডে কার্যকর করুন।
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";
});
};
Worker::runAll();
注意
সময়সূচী কার্যক্রম সঙ্গে সঙ্গে কার্যকর হবে না, সমস্ত সময়সূচী কার্যক্রম পরবর্তী মিনিটে সময় শুরু করবে।
workerman টাইমার-এর মতোই, সমস্ত কাজ বর্তমান প্রক্রিয়াতে কার্যকর হয়।
যদি swoole/swow সহযোগিতা খোলা না হয়, তাহলে যদি কাজ সম্পন্ন না হয় এবং পরবর্তী কার্যক্রমের সময় এসে যায়, সে ক্ষেত্রে বর্তমান কাজ সম্পন্ন হওয়ার জন্য অপেক্ষা করতে হবে, নতুন কাজের কার্যকর হওয়া বিলম্ব হবে।
যদি swoole/swow সহযোগিতা খোলা হয়, তবে পূর্বের কাজ যদি সম্পূর্ণ না হয়, পরবর্তী কাজ সম্ভবত অবিলম্বে কার্যকর হবে, অপেক্ষা করবে না।
ইন্টারফেস
Crontab::destroy()
টাইমার ধ্বংস করুন
$crontab = new Crontab('1 * * * * *', function(){
echo date('Y-m-d H:i:s')."\n";
});
$crontab->destroy();