小编has*_*own的帖子

在Spring Batch Step,Tasklet或Chunks之间做出决定

我有一个直接的要求,其中,我需要读取项目列表(从DB)并需要处理项目,一旦处理,它必须更新到DB.

我正在考虑将Spring批量块用于阅读器,处理器和写入器.我的读者将从列表中一次返回一个项目并将其发送到处理器,一旦处理结束,它将返回到Writer,它将更新数据库

我可能会稍后多线程处理这些方法中的一些同步成本.

在这里,我预见到一些问题.

  1. 要处理的项目数可能更多.可能在10,000s甚至更多.
  2. 处理器中需要一些逻辑计算.因此,一次处理1个项目.即使它是10个线程的多线程,也不确定性能.
  3. Writer可以更新该处理项目的DB中的结果.不确定如何进行批量更新,因为它始终只处理了1个项目并准备就绪.

这种方法对于这种用例是否正确或者可以做得更好?还有一种方法可以在读者,处理器和写入器的一次调用中处理一堆物品吗?如果是这样,我是否需要创建一些机制,我从列表中提取10个项目并将其提供给处理器?似乎编写器会更新每个记录,只有当编写器收到一堆处理过的项目时,批量更新才有意义.有什么建议吗?

请为此设计注一些亮点以获得更好的性能.

谢谢,

spring-batch

13
推荐指数
1
解决办法
3万
查看次数

获取Apache的空白PHP页面

在新设置的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页面,浏览器会显示空白页面(白页).

以下是我到目前为止所做的排除故障的方法:

  1. 创建了包含以下内容的页面:<?php phpinfo(); ?>.从浏览器查看时显示空白页面.
  2. 只是为了确保,apache指向正确的目录,在.html那里放置一个静态页面,并且在浏览器中看到它很好,所以apache正在工作,目录是正确的.
  3. /etc/php.ini,改变display_errors指令On.还是空白页面
  4. 在Apache配置文件(/etc/httpd/conf/httpd.conf)中找到了这一行Include conf.d/*.conf.在conf.d目录中,有一个php.conf包含以下行的文件: LoadModule php5_module modules/libphp5.so.确保此.so文件实际存在于此处.
  5. 在同一个文件中我也有这两行:AddHandler php5-script .phpAddType text/html .php
  6. 从CLI执行php页面,它工作正常 - 所以php在本地工作.

那为什么它总是在浏览器上显示空白/白页?我还缺少什么?

编辑 根据@Nathan的建议,

  1. 我检查了Apache错误日志文件,看不到任何报告错误.
  2. /etc/php.ini说,php error_log位于syslog.所以我检查/var/log/messages但找不到任何PHP错误消息 …

php apache centos

13
推荐指数
3
解决办法
7万
查看次数

GTFS查询列出两个停止名称之间的所有出发和到达时间

我第一次使用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)

mysql sql gtfs

2
推荐指数
1
解决办法
3066
查看次数

标签 统计

apache ×1

centos ×1

gtfs ×1

mysql ×1

php ×1

spring-batch ×1

sql ×1