mirror of
https://github.com/idanoo/php-resque.git
synced 2024-11-22 16:25:14 +00:00
Merge pull request #42 from salimane/upstream
Avoid working with dirty worker ids
This commit is contained in:
commit
37e148b23c
@ -95,7 +95,7 @@ class Resque_Worker
|
|||||||
*/
|
*/
|
||||||
public static function find($workerId)
|
public static function find($workerId)
|
||||||
{
|
{
|
||||||
if(!self::exists($workerId)) {
|
if(!self::exists($workerId) || false === strpos($workerId, ":")) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -447,12 +447,14 @@ class Resque_Worker
|
|||||||
$workerPids = $this->workerPids();
|
$workerPids = $this->workerPids();
|
||||||
$workers = self::all();
|
$workers = self::all();
|
||||||
foreach($workers as $worker) {
|
foreach($workers as $worker) {
|
||||||
list($host, $pid, $queues) = explode(':', (string)$worker, 3);
|
if (is_object($worker)) {
|
||||||
if($host != $this->hostname || in_array($pid, $workerPids) || $pid == getmypid()) {
|
list($host, $pid, $queues) = explode(':', (string)$worker, 3);
|
||||||
continue;
|
if($host != $this->hostname || in_array($pid, $workerPids) || $pid == getmypid()) {
|
||||||
}
|
continue;
|
||||||
$this->log('Pruning dead worker: ' . (string)$worker, self::LOG_VERBOSE);
|
}
|
||||||
$worker->unregisterWorker();
|
$this->log('Pruning dead worker: ' . (string)$worker, self::LOG_VERBOSE);
|
||||||
|
$worker->unregisterWorker();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user