検索

ホームページ  >  に質問  >  本文

php - キューが非同期で実行される場合、SESSIONは使用できませんが、ログイン時にキューを使用することはできますか?

キューが非同期で実行される場合、SESSION は使用できませんが、ログイン時にキューを使用することはできますか? 使用できる場合、Cookie とセッションの対応関係はどのようにすればよいですか?

怪我咯怪我咯2752日前357

全員に返信(1)返信します

  • 怪我咯

    怪我咯2017-05-16 13:07:36

    録画中にキューを使用できますか?

    通常、ログインは同期プロセスです。キューを使用することは不可能ではありませんが、複雑さが増します。

    同期ログイン プロセスでは、データベースを読み取り、正しいアカウントとパスワードを決定し、セッションをセットアップします。これは 1 つの HTTP リクエストで完了できます。

    非同期に変更するには以下の方法しか思いつきません:

    1. クライアントはランダムトークンを生成します

    2. クライアントはトークン、アカウント番号、パスワードをサーバーに送信します

    3. サーバーはこのトークンを Redis に記録しますが、正常にログインしていません

    4. サーバーはトークン、アカウント、パスワードを処理のためにキューに入れます

    5. キュー処理。アカウントが正しい場合、redis 内のトークンは成功としてマークされ、そうでない場合は失敗としてマークされます

    6. サーバーとキューの処理中に、クライアントは別のインターフェイスを使用して、トークンのログインが成功したかどうかをポーリングし続けます。成功した場合は、後続のすべてのリクエストでトークンが取得されます。成功しない場合、クライアントのログインは失敗します。

    そのため、同期ログインプロセスはできるだけ早く完了する必要があり、ログイン後に必要な一部の操作 (電子メール通知の送信など) は、ログインプロセス全体ではなくキューに入れる必要があります。

    返事
    0
  • キャンセル返事