test.php 952 B

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. require __DIR__ . '/../vendor/autoload.php';
  3. use Workerman\Worker;
  4. use Workerman\Timer;
  5. use Workerman\RedisQueue\Client;
  6. $worker = new Worker();
  7. $worker->onWorkerStart = function () {
  8. $client = new Client('redis://127.0.0.1:6379');
  9. $client->subscribe('user-1', function ($data) {
  10. echo "user-1\n";
  11. var_export($data);
  12. }, function ($data) {
  13. echo "user-1 failed\n";
  14. var_export($data);
  15. });
  16. $client->subscribe('user-2', function ($data) {
  17. echo "user-2\n";
  18. var_export($data);
  19. }, function ($data) {
  20. echo "user-2 failed\n";
  21. var_export($data);
  22. });
  23. $client->onConsumeFailure(function (\Throwable $exception, $package) {
  24. echo "consume failure\n";
  25. echo $exception->getMessage(), "\n";
  26. var_export($package);
  27. });
  28. Timer::add(1, function () use ($client) {
  29. $client->send('user-1', [666, 777]);
  30. });
  31. };
  32. Worker::runAll();