diff --git a/kiri-actor/Actor.php b/kiri-actor/Actor.php index 6907e112..9bedeb67 100644 --- a/kiri-actor/Actor.php +++ b/kiri-actor/Actor.php @@ -3,6 +3,7 @@ namespace Kiri\Actor; use JsonSerializable; +use Swoole\Coroutine; use Swoole\Coroutine\Channel; abstract class Actor implements ActorInterface, JsonSerializable @@ -85,7 +86,11 @@ abstract class Actor implements ActorInterface, JsonSerializable */ public static function newActor($id): static { - return new static($id); + $actor = new static($id); + Coroutine::create(function (Actor $actor) { + $actor->run(); + }, $actor); + return $actor; }