我有一个直接的要求,其中,我需要读取项目列表(从DB)并需要处理项目,一旦处理,它必须更新到DB.
我正在考虑将Spring批量块用于阅读器,处理器和写入器.我的读者将从列表中一次返回一个项目并将其发送到处理器,一旦处理结束,它将返回到Writer,它将更新数据库
我可能会稍后多线程处理这些方法中的一些同步成本.
在这里,我预见到一些问题.
这种方法对于这种用例是否正确或者可以做得更好?还有一种方法可以在读者,处理器和写入器的一次调用中处理一堆物品吗?如果是这样,我是否需要创建一些机制,我从列表中提取10个项目并将其提供给处理器?似乎编写器会更新每个记录,只有当编写器收到一堆处理过的项目时,批量更新才有意义.有什么建议吗?
请为此设计注一些亮点以获得更好的性能.
谢谢,
在新设置的digitalOcean云服务器(CentOS)中,我安装了php和Apache.网络服务器正常运行:
[root@a2m5cent01 httpd]# service httpd status
httpd (pid 11232) is running...
[root@a2m5cent01 httpd]# php --version | head -1
PHP 5.3.3 (cli) (built: Dec 11 2013 03:29:57)
Run Code Online (Sandbox Code Playgroud)
但是如果我尝试访问任何php页面,浏览器会显示空白页面(白页).
以下是我到目前为止所做的排除故障的方法:
<?php phpinfo(); ?>.从浏览器查看时显示空白页面..html那里放置一个静态页面,并且在浏览器中看到它很好,所以apache正在工作,目录是正确的./etc/php.ini,改变display_errors指令On.还是空白页面/etc/httpd/conf/httpd.conf)中找到了这一行Include conf.d/*.conf.在conf.d目录中,有一个php.conf包含以下行的文件:
LoadModule php5_module modules/libphp5.so.确保此.so文件实际存在于此处.AddHandler php5-script .php和AddType text/html .php那为什么它总是在浏览器上显示空白/白页?我还缺少什么?
编辑 根据@Nathan的建议,
/etc/php.ini说,php error_log位于syslog.所以我检查/var/log/messages但找不到任何PHP错误消息 …我第一次使用GTFS结构并且遇到查询问题.我已经将传输数据传输到mysql表中,并且可以自由地查询它们,但我觉得我做了太多的查询和循环来获取最简单的信息.
我想在单个查询中获得的是两个已知停靠点之间的所有出发时间和到达时间,可能通过名称识别.
这是我到目前为止所涉及的问题,其中涉及查询,然后循环遍历每个trip_id以查找出发和到达站信息+次.
查询1:
显示特定始发站的所有出发时间,沿特定方向行驶.结果将给出出发时间和trip_ids.
SELECT t.trip_id, trip_headsign, departure_time, direction_id, s.stop_name
FROM stops s, routes r, stop_times st, calendar c, trips t
WHERE departure_time > "00:00:00" and departure_time < "23:59:59"
AND r.route_id=1 and s.stop_id = 42
AND s.stop_id = st.stop_id
AND st.trip_id = t.trip_id
AND c.service_id = t.service_id
AND c.monday=1 and direction_id=1;
Run Code Online (Sandbox Code Playgroud)
结果
+---------+---------------+----------------+--------------+-----------+
| trip_id | trip_headsign | departure_time | direction_id | stop_name |
+---------+---------------+----------------+--------------+-----------+
| 5671498 | Grand Central | 04:43:00 | 1 | Garrison |
| …Run Code Online (Sandbox Code Playgroud)