JobCollection.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. /**
  3. * Gearman Bundle for Symfony2
  4. *
  5. * @author Marc Morera <yuhu@mmoreram.com>
  6. * @since 2013
  7. */
  8. namespace Mmoreram\GearmanBundle\Module;
  9. use Mmoreram\GearmanBundle\Module\JobClass as Job;
  10. /**
  11. * Job Collection class
  12. */
  13. class JobCollection
  14. {
  15. /**
  16. * @var array
  17. *
  18. * All jobs from worker
  19. */
  20. private $workerJobs = array();
  21. /**
  22. * Adds into $workerJobs a Job instance
  23. * Return self object
  24. *
  25. * @param Job $workJob Class to add into array
  26. *
  27. * @return JobCollection
  28. */
  29. public function add(Job $workJob)
  30. {
  31. $this->workerJobs[] = $workJob;
  32. return $this;
  33. }
  34. /**
  35. * Retrieve all Jobs added previously
  36. *
  37. * @return array
  38. */
  39. public function getJobs()
  40. {
  41. return $this->workerJobs;
  42. }
  43. /**
  44. * Retrieve all jobs loaded previously in cache format
  45. *
  46. * @return array
  47. */
  48. public function toArray()
  49. {
  50. $jobs = array();
  51. foreach ($this->workerJobs as $job) {
  52. $jobs[] = $job->toArray();
  53. }
  54. return $jobs;
  55. }
  56. }