Questions tagged «batch-operations»

3
批处理API如何在内部工作?
前几天我遇到了使用迁移的超时问题,开始想知道Batch API在内部如何工作。 我的理解是,您将以最简单的形式传递值数组(例如,nids)和一个对这些值进行运算的函数。然后,批处理API会对每个请求处理固定数量的这些值,直到完成为止。 在运行批处理时,页面似乎使用Ajax请求来显示批处理操作的进度(完成百分比和消息)。我认为它会等到请求完成以更新进度后再立即启动下一个请求? 如果关闭了带有批处理请求的页面,则批处理会停止吗?再次打开相同的URL,它会重新启动吗?迁移模块有时会继续,但是可能正在使用队列?

4
如何加快批处理API的操作?
我已经在第三方贡献模块以及我自己的一些操作中遇到了这个问题。我对加快我/ contrib 批处理操作的各种方式感到好奇吗? 假设它们与节点配合使用(导入/更新等),并且我们正在处理10,000+范围内的节点列表的解析(尽管我必须处理1500万行。)-是的-我刚搞定。 ) 附加到drupals cron.php作业并运行“ headless”是否更快?使用Drush?还是这仅仅是我可以如何高效和快速地解析代码的问题,并且没有外界影响或批次特定的优化技巧…… 目前,我遇到了一些操作(使用一些粗略的计算)可能需要24小时以上的时间... 谢谢!

2
批处理如何解决PHP超时问题
Drupal 7文档将Batch API引入为: 该函数允许将表单处理分散到多个页面请求中,从而确保不会因PHP超时而中断处理。 我的意思是说Batch为开发人员处理了与超时有关的问题。 但是,其他帖子(例如,批处理API在内部如何工作?)暗示开发人员有责任在等待另一个用户到达并再次调用Batch之前,告诉Batch要做多少工作—从而避免了超时。 如果后者是正确的,那么我认为Batch不保证作业不会超时。批次是否提供任何保证?是否由开发人员猜测在超时之前可以处理多少个批处理? 谢谢!
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.