manager_timer.php 833 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. $serv = new swoole_server("0.0.0.0", 9501);
  3. $serv->set(array(
  4. 'worker_num' => 1,
  5. ));
  6. $serv->on('managerStart', function ($erv) {
  7. echo "manager start\n";
  8. // sleep(30);
  9. $id = swoole_timer_tick(3000, function () {
  10. echo "timer 1\n";
  11. });
  12. swoole_timer_after(9000, function () use ($id) {
  13. echo "timer 2\n";
  14. swoole_timer_clear($id);
  15. swoole_timer_tick(2000, function () {
  16. echo "timer 3\n";
  17. });
  18. swoole_timer_tick(300, function () {
  19. echo "timer 4\n";
  20. });
  21. });
  22. });
  23. $serv->on('receive', function (swoole_server $serv, $fd, $reactor_id, $data) {
  24. echo "[#".$serv->worker_id."]\tClient[$fd] receive data: $data\n";
  25. if ($serv->send($fd, "hello {$data}\n") == false)
  26. {
  27. echo "error\n";
  28. }
  29. });
  30. $serv->start();