队列在生产中不起作用

时间:2015-03-04 01:36:59

标签: google-app-engine go

当我在本地测试我的网站时,一切正常。但在生产中,我收到以下错误:Couldn't lease a task: API error 1 (taskqueue: UNKNOWN_QUEUE)

我很确定我的代码是正确的,因为它在本地工作。我最好的猜测是queue.yaml文件有问题,但它很简单:

queue:
- name: daemonQueue
  mode: pull

我可能做错了什么?

编辑:
原来入队也失败了:TickTask enqueue error: Failed to insert task: API error 1 (taskqueue: UNKNOWN_QUEUE)
这就是我如何排队的任务。

// Add the task to the queue.
func EnqueueWithName(c sessions.Context, task interface{}, tag string, name string) (err error) {
   buffer := new(bytes.Buffer) 
   err = gob.NewEncoder(buffer).Encode(task) 
   if err != nil { 
     return 
   } 
   newTask := &taskqueue.Task{ 
     Method:  "PULL", 
     Payload: buffer.Bytes(), 
     Tag:     tag, 
     Name:    name} 
   newTask, err = taskqueue.Add(c, newTask, "daemonQueue") 
   return err
 }   

1 个答案:

答案 0 :(得分:2)

您没有在生产中配置队列。确保部署整个应用程序目录,以便queue.yaml上传。将goapp deployappcfg.py指向保留app.yamlqueue.yaml的目录,而不是直接app.yaml