emit_log-async.php 858 B

1234567891011121314151617181920212223242526272829303132
  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. $argv = array_values($argv);
  17. $severity = isset($argv[1]) && !empty($argv[1]) ? $argv[1] : 'info';
  18. $data = implode(' ', array_slice($argv, 2));
  19. if (empty($data)) {
  20. $data = "Hello World!";
  21. }
  22. $config = require __DIR__ . '/../config.php';
  23. $log = require __DIR__ . '/../log.php';
  24. Producer::connect($config, $log)->publishAsync($data, 'direct_logs', 'direct', $severity);
  25. };
  26. Worker::runAll();