1

新しいユーザーをグループに追加し、アクティベーション メールを送信しようとしています。キューなしで実装したときは、以前は機能していました。

app/routes.php の私の (関連する) コードは次のとおりです。

Queue::getIron()->ssl_verifypeer = false;

Route::post('queue/demo', function(){
    Log::info('marshal!');
    return Queue::marshal();
});

class FinishUserRegistration{
public function fire($job, $data){
    $user_id = $data['user_id'];
    $usergroup = Sentry::getGroupProvider()->findById(2);
    $newuser = Sentry::findUserById($user_id);
    $newuser->addGroup($usergroup);
    $emailData = array(
        'user_name' => $newuser->first_name . ' ' . $newuser->last_name,
        'activation_code' => $newuser->getActivationCode(),
        'user_id' => $newuser->id,
        'repeat' => false,
    );
    Mail::send('emails.activation', $emailData, function ($message) use($user_id){
        $newuser = Sentry::findUserById($user_id);
        $message->to($newuser->email, $newuser->first_name . ' ' . $newuser->last_name)->subject('Welcome to The Site!');
    });

    $job->delete();
}
}

UsersController.php には、次のものがあります。

public function postModalRegister(){
    $user = Sentry::createUser($input);
    /*
    $user->addGroup($usergroup);
    $this->activationMail($user->id, false);
    */

    Queue::push('FinishUserRegistration', ['user_id'=>$user->id]);

    return \Response::json(['success' => true], 200);
}

IronMq + Laravel4: How make it workingの指示に従いました。新しいユーザーを登録すると、成功を受け取り、IronMQ ダッシュボードでメッセージ数が増加したことを確認できます。しかし、laravel.log には "marshal!" が表示されず、curl --data "param1=whatever" http://livesite.com/queue/demoを実行しても表示されません。

また、私は持っています

Route::when('*', 'csrf', array('post', 'put', 'delete', 'patch'));

私のルートファイルでは、キュー/デモルートにもフィルターの前に csrf があります。

4

0 に答える 0