我正在制作一个应用程序,其中每周一次必须根据系统的所有用户执行多个操作(计算)。最初估计大约有300个用户。
我的问题是,有没有一种方法可以执行这种类型的操作?比如批量处理?现在,我只使用一个用户测试脚本,在本地主机上,我使用foreach循环来循环用户并生成所有查询、计算和插入结果。。
我怀疑是否有更多的用户饱和了脚本或托管或类似的东西。。我如何处理这种情况?
欢呼;)
这种情况通常是通过Cron(或Windows上类似的东西)实现的。因此,如果您的脚本仅在非高峰时间由cron运行(例如,如果您的所有用户都在一个时区,则周日凌晨3点),您几乎可以确定它不会在同一时间运行两次,也不会影响您的用户。
由于MySQL支持事务和存储过程和函数,我建议您使用数据库中的存储过程而不是PHP脚本来循环数据。然后,您可以将逻辑存储在db函数中,并在事务中执行类似插入-选择的操作。它应该比普通环路更快、更安全、更方便。
问题内容: 我的问题与春季批次和交易有关。 假设我为我的步骤之一选择了 50 的 提交间隔 。 还要假设我总共有1000条记录,其中一条记录将导致itemWriter失败,从而导致整个块的回滚(在我的示例中为50条记录)。 确保作业完成(并忽略有问题的块)后将49个有效记录写入数据库的状态有哪些? 问题答案: 经过研究,我得出以下结论: 如果项目编写者未能提交一个块(此处为50个项目)从而导致回滚
我想分散加工大批量。这个想法是使用Spring Batch在云中激发一堆AMQP消费者,然后加载廉价的任务(如项目ID)并将它们提交给AMQP交换。结果的书写将由消费者自己完成。 null
主要内容:预处理语句及绑定参数,MySQLi 预处理语句,实例 (MySQLi 使用预处理语句),PDO 中的预处理语句,实例 (PDO 使用预处理语句)预处理语句对于防止 MySQL 注入是非常有用的。 预处理语句及绑定参数 预处理语句用于执行多个相同的 SQL 语句,并且执行效率更高。 预处理语句的工作原理如下: 预处理:创建 SQL 语句模板并发送到数据库。预留的值使用参数 "?" 标记 。例如: 数据库解析,编译,对SQL语句模板执行查询优化,并存储结果不输出。 执行:最后,将应用绑定的
我有一个Spring批处理作业,它通过SFTP从远程Linux服务器检索文件。远程服务器上的目录是一个包含七天文件(约400个文件)的存档。文件的大小相对较小。 Spring批处理知道哪些文件已经被处理。 当我启动应用程序时。第一次,Spring Batch tasklet检索文件时,Spring Batch会为它已经处理的每个文件生成一个异常: > 在Transformer类中,是否应该检查文件
在前面的章节,我们使用mysql交互模式输入语句和查看结果。我们也可以以批处理的模式来运行mysql。要达到这种目的,需要把我们想运行的语句放在一个文件里,然后告诉mysql从文件读取它的输入。 shell> mysql < batch-file 如果你是在Windows下运行mysql,文件里的一些特定字符会引起一些问题,你要这样做: C:\> mysql -e "source batch-f
我需要访问两个数据源: Spring批处理存储库:在内存H2中 我的步骤需要访问。 我在那里看到了几个关于如何创建自定义