gyselroth/php-task-scheduler

FORCE_SPAWN shall not count to max children

Opened this issue · 0 comments

Describe the bug

If jobs are bootstraped with FORCE_SPAWN: true they will force start which is fine.
but their start will count to MAX_CHILDREN and hold all other jobs in the queue.

To Reproduce

  1. Start queue with max_children: 1
  2. Add FORCE_SPAWN job
  3. Start normal job
  4. If the force jobs is a loop job, the 2nd job will never start.

Expected behavior

A job started with FORCE_SPAWN should not count to running max children.

Environment

  • (\TaskScheduler) version: v3.1.0
  • MongoDB Version: [e.g. v3.4.18]
  • PHP Version [e.g. v7.2.1]

Additional context

[2019-03-28 14:00:27] default.DEBUG: received job [5c9cd3119883f200f02fb2a6], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:00:27 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:00:27 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd3119883f200f02fb2a6], do not spawn new worker  
[2019-03-28 14:00:29] default.DEBUG: received job [5c9cd3119883f200f02fb2aa], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:00:29 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:00:29 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd3119883f200f02fb2aa], do not spawn new worker  
[2019-03-28 14:00:31] default.DEBUG: received job [5c9cd3119883f200f02fb2ae], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:00:31 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:00:31 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd3119883f200f02fb2ae], do not spawn new worker  
[2019-03-28 14:00:33] default.DEBUG: received job [5c9cd3129883f200f02fb2b2], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:00:33 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:00:33 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd3129883f200f02fb2b2], do not spawn new worker  
[2019-03-28 14:00:35] default.DEBUG: received job [5c9cd3129883f200f02fb2b6], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:00:35 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:00:35 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd3129883f200f02fb2b6], do not spawn new worker  
[2019-03-28 14:00:37] default.DEBUG: received job [5c9cd3129883f200f02fb2ba], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:00:37 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:00:37 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd3129883f200f02fb2ba], do not spawn new worker  
[2019-03-28 14:00:39] default.DEBUG: received job [5c9cd3129883f200f02fb2be], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:00:39 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:00:39 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd3129883f200f02fb2be], do not spawn new worker  
[2019-03-28 14:00:41] default.DEBUG: received job [5c9cd3129883f200f02fb2c2], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:00:41 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:00:41 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd3129883f200f02fb2c2], do not spawn new worker  
[2019-03-28 14:00:43] default.DEBUG: received job [5c9cd3129883f200f02fb2c6], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:00:43 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:00:43 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd3129883f200f02fb2c6], do not spawn new worker  
[2019-03-28 14:00:45] default.DEBUG: received job [5c9cd3129883f200f02fb2c9], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:00:45 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:00:45 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd3129883f200f02fb2c9], do not spawn new worker  
[2019-03-28 14:00:47] default.DEBUG: received job [5c9cd3129883f200f02fb2cc], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:00:47 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:00:47 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd3129883f200f02fb2cc], do not spawn new worker  
[2019-03-28 14:00:49] default.DEBUG: received job [5c9cd3129883f200f02fb2cf], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:00:49 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:00:49 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd3129883f200f02fb2cf], do not spawn new worker  
[2019-03-28 14:00:51] default.DEBUG: received job [5c9cd3129883f200f02fb2d3], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:00:51 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:00:51 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd3129883f200f02fb2d3], do not spawn new worker  
[2019-03-28 14:00:53] default.DEBUG: received job [5c9cd3129883f200f02fb2d7], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:00:53 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:00:53 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd3129883f200f02fb2d7], do not spawn new worker  
[2019-03-28 14:00:55] default.DEBUG: received job [5c9cd313016e3c000d4ff3ab], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:00:55 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:00:55 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd313016e3c000d4ff3ab], do not spawn new worker  
[2019-03-28 14:00:57] default.DEBUG: received job [5c9cd3149883f201012fb016], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:00:57 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:00:57 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd3149883f201012fb016], do not spawn new worker  
[2019-03-28 14:00:59] default.DEBUG: received job [5c9cd314016e3c000d4ff3ae], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:00:59 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:00:59 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd314016e3c000d4ff3ae], do not spawn new worker  
[2019-03-28 14:01:01] default.DEBUG: received job [5c9cd3149883f201012fb019], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:01:01 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:01:01 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd3149883f201012fb019], do not spawn new worker  
[2019-03-28 14:01:03] default.DEBUG: received job [5c9cd314016e3c000d4ff3b1], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:01:03 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:01:03 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd314016e3c000d4ff3b1], do not spawn new worker  
[2019-03-28 14:01:05] default.DEBUG: received job [5c9cd314016e3c000d4ff3b4], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:01:05 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:01:05 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd314016e3c000d4ff3b4], do not spawn new worker  
[2019-03-28 14:01:07] default.DEBUG: received job [5c9cd314016e3c000d4ff3b7], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:01:07 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:01:07 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd314016e3c000d4ff3b7], do not spawn new worker  
[2019-03-28 14:01:09] default.DEBUG: received job [5c9cd314016e3c000d4ff3bb], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:01:09 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:01:09 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd314016e3c000d4ff3bb], do not spawn new worker  
[2019-03-28 14:01:11] default.DEBUG: received job [5c9cd3159883f200f02fb2db], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:01:11 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:01:11 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd3159883f200f02fb2db], do not spawn new worker  
[2019-03-28 14:01:13] default.DEBUG: received job [5c9cd3159883f200f02fb2de], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:01:13 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:01:13 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd3159883f200f02fb2de], do not spawn new worker  
[2019-03-28 14:01:15] default.DEBUG: received job [5c9cd3159883f200f02fb2e1], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:01:15 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:01:15 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd3159883f200f02fb2e1], do not spawn new worker  
[2019-03-28 14:01:17] default.DEBUG: received job [5c9cd3159883f200f02fb2e4], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:01:17 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:01:17 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd3159883f200f02fb2e4], do not spawn new worker  
[2019-03-28 14:01:19] default.DEBUG: received job [5c9cd3159883f201012fb01c], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:01:19 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:01:19 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd3159883f201012fb01c], do not spawn new worker  
[2019-03-28 14:01:21] default.DEBUG: received job [5c9cd3169883f200f02fb2e7], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:01:21 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:01:21 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd3169883f200f02fb2e7], do not spawn new worker  
[2019-03-28 14:01:23] default.DEBUG: received job [5c9cd3169883f200f02fb2eb], write in systemv message queue {"category":"TaskScheduler\\Queue"} []
2019-28-03 14:01:23 [TaskScheduler\WorkerManager,DEBUG]: received systemv message type [1]  
2019-28-03 14:01:23 [TaskScheduler\WorkerManager,DEBUG]: max children [2] reached for job [5c9cd3169883f200f02fb2eb], do not spawn new worker