QueueManager.php 810 B

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. namespace app\process;
  3. use Illuminate\Support\Facades\Redis;
  4. class QueueManager
  5. {
  6. public function runningJobs()
  7. {
  8. $result = [];
  9. $runningQueueJobs = Redis::hgetall('RunningQueueJobs');
  10. foreach ($runningQueueJobs as $key => $queueJob) {
  11. $queueJob = json_decode($queueJob);
  12. $queueJob->data->command = unserialize($queueJob->data->command);
  13. $result[$key] = $queueJob;
  14. }
  15. return $result;
  16. }
  17. public function jobCounts(){
  18. $result = [];
  19. $keys = Redis::keys('queues:*');
  20. foreach ($keys as $key) {
  21. if (strpos($key, 'reserved')||strpos($key, 'delayed')) {
  22. continue;
  23. }
  24. $result[$key] = Redis::llen($key);
  25. }
  26. return $result;
  27. }
  28. }