static::getCmd(), 'ts' => time(), 'sender' => '0', 'params' => $params, ]; } /** * 插入任务到 beanstalk * * @params 具体某个任务需要的参数 * @return boolean */ protected static function put(array $params) { $bean = Beanstalk::instance(); $tube = Config::get('app.beanstalk_tube', 'twong'); $arr = self::formatJob($params); $json = json_encode($arr); try { $bean::useTube($tube)->put($json); } catch (\Exception $e) { Log::error('beanstalk put failed: ' . $json . ' error:' . $e->getMessage()); return false; } return true; } /** * job 格式基本检查 * * @return boolean */ protected static function checkTask($task) { if (!$task || !isset($task['cmd']) || $task['cmd'] != self::getCmd()) { Log::error('task format error: null or invalid cmd'); return false; } if (!isset($task['params']) || !is_array($task['params'])) { Log::error('task format error: without params or not an array.'); return false; } return true; } }