psukhedelos/queuedjobs-pdf-export

使用QueuedJobs导出PDF

dev-master 2017-01-24 04:08 UTC

This package is not auto-updated.

Last update: 2024-09-15 00:59:41 UTC


README

维护者联系方式

Glen Peek

使用

默认情况下,此任务从第一页开始,以20份的批次生成PDF

如果您想创建一个自定义任务,请将所需的批次大小作为第一个参数,将任务开始页面的Page ID作为第二个参数。

在下面的示例中,我们指定以42份的批次从第1024页开始运行任务。alt text

要求

  • CWP

  • SilverStripe Queued Jobs Module 2.x

  • 此模块要求启用pdf_export。例如,您可以在您的config.yml中包含以下内容

    BasePage: 
      pdf_export: 1
           
    
  • 目前,仅适用于自包含的主题(例如,在一个文件夹中)。例如,默认的CWP主题不适用,因为它依赖于单独的文件夹来进行bootstrap样式。

版本信息

此模块的主分支目前致力于SilverStripe 3.x兼容性

文档

Queued Jobs PDF Export模块提供了一种将所有实时页面导出到PDF的流程。

默认情况下,当CWP站点的PDF导出启用时,会在所有BasePages中添加一个下载PDF链接。当第一次点击此链接时,会生成页面PDF并将其提供给用户。在随后的请求中,将直接提供已生成的PDF而不是重新生成PDF。

然而,发现这导致了一些CWP实例过载。爬虫机器人会访问CWP站点。然后他们会尝试点击他们能找到的每个路径。在这样做的时候,他们会在短时间内点击每个页面的generatePDF函数。由于网站上许多页面还没有生成PDF,这会导致CWP实例过载,因为它现在必须生成无数的PDF。

这是为了防止PDF生成过载CWP实例,将PDF的生成推送到QueuedJobs,在非高峰时段运行。这将确保所有页面都有一个可下载的预生成的缓存PDF。

未来工作

目前,此模块会在非高峰时段运行。理想情况下,Export PDF Job应该在整个网站上运行一次以生成所有PDF。然后BasePage可以修改为每次更新/发布时发布新的PDF。

快速使用概述

  • 要运行,请在CMS的“作业”选项卡中选择ExportPDFJob并运行。理想情况下,这应该在非高峰时段完成。