diff --git a/queue/beanstalk.php b/queue/beanstalk.php index 6c851b1..3e4ddb0 100644 --- a/queue/beanstalk.php +++ b/queue/beanstalk.php @@ -4,6 +4,11 @@ function _beanstalk_connection($config_key) {/*{{{*/ static $configs = []; static $container = []; + if (empty($config_key)) { + $configs = null; + $container = null; + return null; + } if (empty($configs)) { $configs = config('beanstalk'); @@ -26,11 +31,12 @@ function _beanstalk_connection($config_key) }/*}}}*/ function _beanstalk_disconnect($fp) -{/*{{{*/ - _beanstalk_connection_write($fp, 'quit'); - - return fclose($fp); -}/*}}}*/ +{ + _beanstalk_connection_write($fp, 'quit'); + fclose($fp); + _beanstalk_connection([]); + return true; +} function _beanstalk_connection_read($fp) {/*{{{*/ @@ -182,7 +188,7 @@ function _beanstalk_ignore($fp, $tube) return (integer) strtok(' '); case 'NOT_IGNORED': default: - $this->_error($status); + throw new Exception($status); return false; } }/*}}}*/