TaskQueueで500 Server Error
下記コードにて3000行のテキストファイルのputを試みたところ、プロダクション環境で500 server Errorとなった。
ファイルアップロード - Slim3 日本語サイト(非公式)
FileItemで受け取ったテキストファイルを1行ずつqueueにaddするController
public class AddTaskController extends Controller { @Override protected Navigation run() throws Exception { FileItem fileItem = requestScope("formFile"); InputStream in = new ByteArrayInputStream(fileItem.getData()); BufferedReader reader = new BufferedReader(new InputStreamReader(in, "UTF-8")); String line; while((line = reader.readLine()) != null) { Queue q = QueueFactory.getDefaultQueue(); q.add(TaskOptions.Builder.url("/task/put").param("line", line); } return null; } }
/task/put にマッピングされたコントローラ
public class PutController extends Controller { @Override protected Navigation run() throws Exception { String line = request.getParameter("line"); Slim3Model model = new Slim3Model(); model.setProp1(line); Datastore.put(model); return null; } }
2010/06/11 追記
twitterにて@bluerabbit777jpさんに下記の指摘をいただきました。ありがとうございます。