emit_log-async.php 740 B

123456789101112131415161718192021222324252627282930
  1. <?php
  2. use Bunny\Channel;
  3. use Bunny\Message;
  4. use Workerman\Worker;
  5. use Roiwk\Rabbitmq\Producer;
  6. use Roiwk\Rabbitmq\AbstractConsumer;
  7. if (file_exists(__DIR__ . '/../../../../../vendor/autoload.php')) {
  8. require __DIR__ . '/../../../../../vendor/autoload.php';
  9. } else {
  10. require __DIR__ . '/../../vendor/autoload.php';
  11. }
  12. $worker = new Worker();
  13. $worker->onWorkerStart = function() {
  14. global $argv;
  15. unset($argv[1]);
  16. $data = implode(' ', array_slice($argv, 1));
  17. if (empty($data)) {
  18. $data = "info: Hello World!";
  19. }
  20. $config = require __DIR__ . '/../config.php';
  21. $log = require __DIR__ . '/../log.php';
  22. Producer::connect($config, $log)->publishAsync($data, 'logs', 'fanout');
  23. };
  24. Worker::runAll();