محمدرضا عطوان
4 سال پیش توسط محمدرضا عطوان مطرح شد
4 پاسخ

کار نکردن event ها

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


لاراول
تگ‌های محبوب
لاراول
php
laravel
متفرقه
reactjs
عمومی
html_css
nodejs
vuejs
وردپرس
پایتون
css
فلاتر
react
javascript
ثبت پرسش جدید
حسن امجد
@hassan 4 سال پیش مطرح شد
1

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


حسن امجد
@hassan 4 سال پیش مطرح شد
0

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


محمدرضا عطوان
@mratwan 4 سال پیش آپدیت شد
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();
        }

    }
}

حسن امجد
@hassan 4 سال پیش مطرح شد
1

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


محمدرضا عطوان
@mratwan 4 سال پیش مطرح شد
0

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


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

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