Job.php 507 B

12345678910111213141516171819202122232425262728
  1. <?php
  2. namespace think\swoole;
  3. class Job
  4. {
  5. public $name;
  6. public $params;
  7. public function __construct($name, $params = [])
  8. {
  9. $this->name = $name;
  10. $this->params = $params;
  11. }
  12. public function run(\think\App $app)
  13. {
  14. $job = $this->name;
  15. if (!is_array($job)) {
  16. $job = [$job, 'handle'];
  17. }
  18. [$class, $method] = $job;
  19. $object = $app->invokeClass($class, $this->params);
  20. return $object->{$method}();
  21. }
  22. }