راکت
حل
4 پاسخ

کار نکردن event ها

با سلام و وقت بخیر
درقسمتی از وب سایتم نیاز دارم که مثلا بعد از خرید اطلاعات برا کاربر پیامک بشه
با دستورات artisan
event ها و listener ها رو ساختم و همه چی عالیه و هیچ اروری هم نمیاد ولی هیچ کدوم از پیامک ها ارسال نمیشه!
اما اگر پیامکو تو همون کد اصلی بذارم کار میکنه پس پیامک سالمه!
حالا به نظرتون من چطوری میتونممتوجه بشم دقیقا مشکل از کجاس؟


ثبت پرسش جدید
حسن محمدزاده
حسن محمدزاده
تخصص :مدیر فنی
@hassan8 سال پیشمطرح شد
1

زدید که به صورت صف اجرا بشه
آیا Queue رو راه اندازی کردید ؟
به صورت sync هستش؟


حسن محمدزاده
حسن محمدزاده
تخصص :مدیر فنی
@hassan8 سال پیشمطرح شد
0

اگه میشه اون تکه کدی که داخلش از event استفاده میکنید
و بدنه event و listener رو بفرستید


محمدرضا عطوان
محمدرضا عطوان
تخصص :Full-Stack Developer & AI Lover
@mratwan8 سال پیشمطرح شد
0

بعد از ثبت نام این event فراخوانی میشه

event(new UserRegistered($user));

محتویات event :

class UserRegistered
{
    use Dispatchable, InteractsWithSockets, SerializesModels;
    public $user;

    /**
     * Create a new event instance.
     *
     * @param User $user
     */
    public function __construct(User $user)
    {
        $this->user = $user;
    }

    /**
     * Get the channels the event should broadcast on.
     *
     * @return IlluminateBroadcastingChannel|array
     */
    public function broadcastOn()
    {
        return new PrivateChannel('channel-name');
    }
}

محتویات listener :

use AppEventsUserUserRegistered;
use IlluminateQueueInteractsWithQueue;
use IlluminateContractsQueueShouldQueue;
use Kavenegar;
use KavenegarExceptionsApiException;
use KavenegarExceptionsHttpException;

class SMS implements ShouldQueue
{
    use InteractsWithQueue;
    /**
     * Create the event listener.
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

    /**
     * Handle the event.
     *
     * @param  UserRegistered  $event
     * @return void
     */
    public function handle(UserRegistered $event)
    {
        try{
            $mobile = $event->user->mobile;
            $pass= $event->user->pass;

            $receptor = "$mobile";
            $template =  "متد مورد نظر";
            $type =  "sms";
            $token = "$pass";
            $token2 =  "";
            $token3 =  "";
            $result = Kavenegar::VerifyLookup($receptor,$token,$token2,$token3,$template,$type);
        }
        catch(ApiException $e){
            echo $e->errorMessage();
        }
        catch(HttpException $e){
            echo $e->errorMessage();
        }

    }
}

حسن محمدزاده
حسن محمدزاده
تخصص :مدیر فنی
@hassan8 سال پیشمطرح شد
1

زدید که به صورت صف اجرا بشه
آیا Queue رو راه اندازی کردید ؟
به صورت sync هستش؟


محمدرضا عطوان
محمدرضا عطوان
تخصص :Full-Stack Developer & AI Lover
@mratwan8 سال پیشمطرح شد
0

@hasan2i2 ممنونم از لطفتون.
مشکل حل شد.
یه اشتباه جزیی در کانفیگ بود
مرسی


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

ورود یا ثبت‌نام