اجرای تابع در پس زمینه


اجرای تابع در پس زمینه

توضیحات

این تابع، کالبک شما را در پس زمینه اجرا می کند

این تابع نیاز به Atom دارد و باید Atom::start صدا زده شده باشد


ورودی ها

این تابع تنها یک ورودی دارد که باید یک function از نوع Closure باشد

public function run(Closure $closure) { }

چهارچوب

توجه کنید که این تابع شبیه سازی شده است و باید چهارچوب هایی را رعایت کنید!

1- روش کار

اول باید با روش کار این متد آشنا شوید...

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

2- خارج از تابع

شما در کالبک، فقط تنظیمات کانفیگ(قبل از Atom::start) و مقدار های use شده را دارید! پس باید به نحو درست و صحیح از این ویژگی ها استفاده کنید


مثال

به عنوان مثال می خواهید در پس زمینه پیام ارسال کنید:

Background::run(function() { global $mmb; // تعریف شده در کانفیگ $mmb->sendMsg([ 'chat' => 123456, 'text' => 'سلام از پس زمینه' ]); });

توجه کنید که اطلاعات آپدیت و متغیر های غیر کانفیگ به پس زمینه ارسال نمی شوند و اگر می خواهید از آنها استفاده کنید، باید آنها را use کنید

مثال غلط استفاده:

Background::run(function() { global $msg; // خطا (نه در کانفیگ است نه یوز شده) global $mmb; $upd = $mmb->getUpd(); // خطا (نه در کانفیگ است نه یوز شده، همچنین در پس زمینه وجود ندارد) // روش صحیح: یوز کردن متغیر });

روش صحیح:

Background::run(function() use($msg) { $msg->replyText('پاسخ از پس زمینه'); });
   قبلی پردازش پس زمینه
اجرای فایل در پس زمینه بعدی