MonsterMQ рднрд╛рдЧ 1 рдХреЗ рд╕рд╛рде RabbitMQ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рдпрд╣ рдЖрд▓реЗрдЦ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ, рдЬреЛ рдЕрднреА рддрдХ рдХрддрд╛рд░реЛрдВ рдФрд░ рдЦрд░рдЧреЛрд╢реЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВред рдЬреЛ рд▓реЛрдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ RabbitMQ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдЙрди рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ MonsterMQ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдореИрдВ github.com рдкрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреЗрдЬ рдкрд░ рдЬрд╛рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ , рдЬрд╣рд╛рдВ рд╡рд┐рд╡рд░рдг рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЖрдк RabbitMQ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рдмрддрд╛рдП рдмрд┐рдирд╛ MonsterMQ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдмрд╛рдХреА рднрд╛рдЧ рдореЗрдВ рдореВрд▓ рдмрд╛рддреЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреА рдХрд┐ рд░реИрдмрд┐рдЯрдПрдордХреНрдпреВ рдореЙрдиреНрд╕реНрдЯрд░рдПрдордХреНрдпреВ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

RabbitMQ рдПрдХ рдореИрд╕реЗрдЬ рдмреНрд░реЛрдХрд░ рд╣реИред рдпрд╣ рдЕрдкрдиреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рд╕рдВрджреЗрд╢, рд╕реНрдЯреЛрд░ рдФрд░ рдлреЙрд░рд╡рд░реНрдб рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рд╡рд╛рд▓реЗ рдФрд░ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЧреНрд░рд╛рд╣рдХ рд╕реЗрд╡рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, PHP рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдЕрдиреБрдкреНрд░рдпреЛрдЧред рдЧреНрд░рд╛рд╣рдХ рдФрд░ RabbitMQ рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░ AMQP (рдПрдбрд╡рд╛рдВрд╕реНрдб рдореИрд╕реЗрдЬ рдХреНрдпреВрдЗрдВрдЧ рдкреНрд░реЛрдЯреЛрдХреЙрд▓) рдирд╛рдордХ рдХреБрдЫ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдФрд░ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░, рдЬрд┐рд╕ рдкрд░ рдпрд╣ рд▓реЗрдЦ рд╕реНрдерд┐рдд рд╣реИ, рднреА рдХреБрдЫ рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ HTTP (рд╣рд╛рдЗрдкрд░рдЯреЗрдХреНрд╕реНрдЯ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓) - рд╣рд╛рдЗрдкрд░рдЯреЗрдХреНрд╕реНрдЯ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред HTTP рдФрд░ AMQP рджреЛрдиреЛрдВ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН, рд╡реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВред RabbitMQ рдПрдХ рдПрдПрдордХреНрдпреВрдкреА рд╕рд░реНрд╡рд░ рд╣реИ, рдФрд░ рдореЙрдиреНрд╕реНрдЯрд░рдПрдордХреНрдпреВ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ рдЬреЛ рдЖрдкрдХреЛ PHP рдореЗрдВ рдПрдПрдордХреНрдпреВрдкреА рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдПрдПрдордХреНрдпреВрдкреА рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░реЗрдЧрд╛ред

AMQP рдФрд░ RabbitMQ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╢рдмреНрджреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:

рдЙрддреНрдкрд╛рджрди - рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ, рдирд┐рд░реНрдорд╛рддрд╛ (рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛) - рдЬреЛ рд╕рдВрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИред

рдЫрд╡рд┐

рдЙрдкрднреЛрдЧ рдХрд░рдирд╛ - рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИред рдЙрдкрднреЛрдХреНрддрд╛ - рд╡рд╣ рдЬреЛ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред

рдЫрд╡рд┐

рдХрддрд╛рд░ рд╣реА рдХрддрд╛рд░ рд╣реИред рдЙрдкрднреЛрдХреНрддрд╛ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬреЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╕рдВрджреЗрд╢ RabbitMQ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдХрддрд╛рд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрддрд╛рд░ рдПрдХ рдмрдлрд░ рд╣реИ рдЬреЛ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдХрдИ рдкреНрд░рджрд╛рддрд╛ рдПрдХ рдХрддрд╛рд░ рдореЗрдВ рд╕рдВрджреЗрд╢ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдХрдИ рдЙрдкрднреЛрдХреНрддрд╛ рдПрдХ рдХрддрд╛рд░ рд╕реЗ рд╕рдВрджреЗрд╢ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдЫрд╡рд┐

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкреНрд░рджрд╛рддрд╛, рдЙрдкрднреЛрдХреНрддрд╛ рдФрд░ рджрд▓рд╛рд▓ рдХреЛ рдПрдХ рд╣реА рдореЗрдЬрдмрд╛рди рдкрд░ рд╣реЛрдирд╛ рдЬрд░реВрд░реА рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рд╡реЗ рдЖрдорддреМрд░ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдерд┐рдд рд╣реЛрддреЗ рд╣реИрдВред

рдирдорд╕реНрддреЗ рджреБрдирд┐рдпрд╛


рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдмрд╛рдж рдореЗрдВ, рд╣рдо рдореЙрдиреНрд╕реНрдЯрд░рдПрдордХреНрдпреВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреАрдПрдЪрдкреА рдореЗрдВ рджреЛ рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦреЗрдВрдЧреЗ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬреЗрдЧрд╛, рдФрд░ рджреВрд╕рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдЧрд╛ред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЖрдВрдХрдбрд╝реЗ рдореЗрдВ, "рдкреА" рдкреНрд░рджрд╛рддрд╛ рд╣реИ, "рд╕реА" рдЙрдкрднреЛрдХреНрддрд╛ рд╣реИ, рд▓рд╛рд▓ рдмрдХреНрд╕реЗ рдХрддрд╛рд░ рд╣реИ рдЬреЛ рд╕рдВрджреЗрд╢ рдмрдлрд░ рд╣реИ (рдкреНрд░рддреНрдпреЗрдХ рдмреЙрдХреНрд╕ рд╕рдВрджреЗрд╢ рд╣реИ)ред

рдЫрд╡рд┐
(рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рд▓реА рдЧрдИ рдЫрд╡рд┐ )

рдЖрдЧреЗ рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ MonsterMQ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдВрд╕реЛрд▓ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░реЗрдВ:

composer require goootlib/monster-mq:dev-master

(MonsterMQ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА github.com рдкрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреЗрдЬ рдкрд░ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ )
рдпрд╣ рдХрдорд╛рдВрдб рдЪрд╛рд▓реВ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ MonsterMQ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ред

рдкреНрд░рд╕реНрдерд╛рди


рд╣рдо рдЕрдкрдиреЗ рдЗрд╕ рдлреЛрди рдХрд░реЗрдЧрд╛ send.php , рдФрд░ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ receive.php ред рдкреНрд░реЗрд╖рдХ рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреБрдбрд╝ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╕рдВрджреЗрд╢ рднреЗрдЬреЗрдЧрд╛ред
рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП send.php рдореЗрдВ рдирд┐рдореНрди рдХреЛрдб рд▓рд┐рдЦреЗрдВ :ред

try {
   $producer = \MonsterMQ\Client\Producer();

   $producer->connect('127.0.0.1', 5672);
   $producer->logIn('guest', 'guest');
} catch(\Exception $e) {
   var_dump($e);
}

рдЗрд╕ рдХреЛрдб рдореЗрдВ, рд╣рдо рдПрдХ рд╕реНрдерд╛рдиреАрдп рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рдорд╛рдирдХ рдкреЛрд░реНрдЯ рдкрд░ рдЪрд▓ рд░рд╣реЗ RabbitMQ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВред рдпрджрд┐ рдЕрдиреНрдп рдЦрд░рдЧреЛрд╢ рдЖрдкрдХреЗ рдЕрдиреНрдп рдкрддреЗ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЕрдиреНрдп рдЖрдИрдкреА-рдкрддрд╛ рдФрд░ рдкреЛрд░реНрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред рдХрдиреЗрдХреНрд╢рди рдХреЗ рдмрд╛рдж, рд╣рдо рд▓реЙрдЧрдЗрди () рд╡рд┐рдзрд┐ рднреА рдХрд╣рддреЗ рд╣реИрдВ, рдЬреЛ рдорд╛рдирдХ рд▓реЙрдЧрд┐рди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рд╕рддреНрд░ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рднрд┐рдиреНрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рд╣реИ рдЬреЛ RabbitMQ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдпрд╣рд╛рдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред

рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЙрд╕ рдХрддрд╛рд░ рдХреЛ рдШреЛрд╖рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред рдХрддрд╛рд░ рдХреА рдШреЛрд╖рдгрд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ:

try {
   $producer = \MonsterMQ\Client\Producer();

   $producer->connect('127.0.0.1', 5672);
   $producer->logIn('guest', 'guest');

   $producer->queue('test-queue')->declare();
   $producer->publish('my-message', 'test-queue');
} catch(\Exception $e) {
   var_dump($e);
}

рдХрддрд╛рд░ рдХреА рдШреЛрд╖рдгрд╛ рдирд┐рд╖реНрдкреНрд░рд╛рдг рд╣реИ, рдЕрд░реНрдерд╛рдд рдпрд╣ рдмрдирд╛рдПрдЧреА рдирд╣реАрдВ рдФрд░ рдХрддрд╛рд░ рдХреЛ рдирд╣реАрдВ рдмрджрд▓реЗрдЧреА, рдпрджрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИред рд╣рдо рд╕рддреНрд░ рдкреВрд░рд╛ рдХрд░рдиреЗ рдФрд░ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рджред

try {
   $producer = \MonsterMQ\Client\Producer();

   $producer->connect('127.0.0.1', 5672);
   $producer->logIn('guest', 'guest');

   $producer->queue('test-queue')->declare();
   $producer->publish('Test message', 'test-queue');

   $producer->disconnect();
} catch(\Exception $e) {
   var_dump($e);
}

рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ


рдкреНрд░реЗрд╖рдХ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд╛рд▓реВ рд░рд╣реЗрдЧрд╛ред Rece.php рдХреЛрдб рдореЗрдВ, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ send.php рдХреЗ рд╕рдорд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ :

try {
   $consumer = \MonsterMQ\Client\Consumer();

   $consumer->connect('127.0.0.1', 5672);
   $consumer->logIn('guest', 'guest');

   $consumer->queue('test-queue')->declare();
} catch(\Exception $e) {
   var_dump($e);
}

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдореЗрдВ receive.php рд╣рдо рднреА рд╣рдорд╛рд░реЗ рдХрддрд╛рд░ рдШреЛрд╖рд┐рдд, рдпрд╣ рдЗрддрдирд╛ рд╣реИ рдХрд┐ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХрддрд╛рд░ рд╡рд╛рдгреА рдЕрдЧрд░ рдпрд╣ рдЗрд╕ рд╕реЗ рдкрд╣рд▓реЗ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рд░реНрд╡рд░ рдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╣рдо рдЙрд╕рд╕реЗ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдПрдХ рдЪрдХреНрд░ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдЧрд╛ рдФрд░ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдЧрд╛, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд▓рд┐рдЦреЗрдВрдЧреЗ:

try {
   $consumer = \MonsterMQ\Client\Consumer();

   $consumer->connect('127.0.0.1', 5672);
   $consumer->logIn('guest', 'guest');

   $consumer->queue('test-queue')->declare();

   $consumer->consume('test-queue');

   $consumer->wait(function ($message, $channelNumber) use ($consumer){
      echo "Message - {$message} received on channel {$channelNumber}";
   });
} catch(\Exception $e) {
   var_dump($e);
}

рдкреНрд░рдХреНрд╖реЗрдкрдг


рдЕрдм рд╣рдо рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рджреЛрдиреЛрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:

php receive.php

рдЗрд╕рд▓рд┐рдП рдкреНрд░реЗрд╖рдХ:

php send.php

рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдЙрд╕ рд╕рдВрджреЗрд╢ рдХреЛ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдЧрд╛ рдЬреЛ рдЙрд╕реЗ RabbitMQ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ (рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдЗрд╕реЗ send.php рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛) рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЪреИрдирд▓ рдирдВрдмрд░ред рдЬрдм рддрдХ рдЖрдк рдЯрд░реНрдорд┐рдирд▓ рдХреЛ рдмрдВрдж рдирд╣реАрдВ рдХрд░рддреЗ, рдпрд╛ рдЬрдм рддрдХ рдЖрдк рдЗрд╕реЗ Ctrl + C рджрдмрд╛рдХрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдмрдВрдж рдирд╣реАрдВ рдХрд░ рджреЗрддреЗ, рддрдм рддрдХ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд░рд╣реЗрдЧрд╛ред рдкреНрд░реЗрд╖рдХ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд░рдХреЗ, рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЛ рд╕рдВрджреЗрд╢ рдХреИрд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдк рдпрд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдлрд┐рд▓рд╣рд╛рд▓, RabbitMQ рдореЗрдВ рдХрддрд╛рд░реЗрдВ рд╣реИрдВ рдФрд░ рдЙрдирдореЗрдВ рдХрд┐рддрдиреЗ рд╕рдВрджреЗрд╢ рд╣реИрдВ, рддреЛ рдЖрдк рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ rabbitmqctl рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
sudo rabbitmqctl list_queues


рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдкрд░ рд╕реВрдбреЛ рдХрд╛ рдкреНрд░рдпреЛрдЧ рди рдХрд░реЗрдВ
rabbitmqctl.bat list_queues


рдЕрдм рд╣рдо рдЕрдкрдиреЗ рдкрд╛рдареЛрдВ рдХреЗ рдЕрдЧрд▓реЗ рднрд╛рдЧ рдкрд░ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ ред

All Articles