2016-03-30 28 views

cevap

0

[14] pry(main)> SuckerPunch::Queue.stats 
{ 
    "CreateVVLinkJob" => { 
     "workers" => { 
      "total" => 1, 
      "busy" => 0, 
      "idle" => 1 
     }, 
      "jobs" => { 
      "processed" => 1, 
       "failed" => 0, 
      "enqueued" => 0 
     } 
    } 
} 

Ve Temizle için önceki işleri

[24] pry(main)> SuckerPunch::Queue.clear 
[ 
    [0] #<SuckerPunch::Queue:0x0000000b150da0 @__lock__=#<Mutex:0x0000000b150d50>, @__condition__=#<Thread::ConditionVariable:0x0000000b150d28>, @running=false, @name="CreateVVLinkJob", @pool=#<Concurrent::ThreadPoolExecutor:0x0000000b146ad0 @__lock__=#<Mutex:0x0000000b1469e0>, @__condition__=#<Thread::ConditionVariable:0x0000000b1469b8>, @min_length=2, @max_length=2, @idletime=60, @max_queue=0, @fallback_policy=:abort, @auto_terminate=false, @pool=[], @ready=[], @queue=[], @scheduled_task_count=1, @completed_task_count=1, @largest_length=1, @ruby_pid=22314, @gc_interval=30, @next_gc_time=25973.834404648, @StopEvent=#<Concurrent::Event:0x0000000b1468c8 @__lock__=#<Mutex:0x0000000b146878>, @__condition__=#<Thread::ConditionVariable:0x0000000b146850>, @set=true, @iteration=0>, @StoppedEvent=#<Concurrent::Event:0x0000000b1467d8 @__lock__=#<Mutex:0x0000000b146788>, @__condition__=#<Thread::ConditionVariable:0x0000000b146760>, @set=true, @iteration=0>>> 
] 

Umut bu yararlıdır suckerpunch işleri ile ilgili istatistikler elde etmek için!

0

SuckerPunch çerçevesinin içinde, kaynak koddan görebildiğim, tek bir sıraya alınmış işi iptal etmenin veya şu anda yürütülen bir işin içinde yerleşik bir yöntem yoktur. İş kuyruğunu temizlemenin tamamen ya da hiç bir işlev olmadığı anlaşılıyor.

Bu, altta yatan ConcurrentTask çerçevesini sorgulayan bir uzantı yöntemi eklemek ve @user parametresinin değerine dayanarak yeni işinizi zaten sıraya alınmış bir işle eşleştirmek için önemsiz bir konu olmalıdır.