andrewandante/silverstripe-async-publisher
最新稳定版本:v2.1.0
Composer 安装命令:
composer require andrewandante/silverstripe-async-publisher
包简介
An asynchronous publishing hook for large datasets.
关键字:
README 文档
README
Pushes writing and publishing to a Queued Job to avoid in-browser timeouts
Installation
composer require andrewandante/silverstripe-async-publisher
Once the module is installed, simply apply AndrewAndante\SilverStripe\AsyncPublisher\Extension\AsyncPublisherExtension
to any classes that you wish to enable Queued Publishing for:
--- name: async-publisher-config --- My\SuperSlow\Page: extensions: - AndrewAndante\SilverStripe\AsyncPublisher\Extension\AsyncPublisherExtension
This will apply it by default to all instances of that class. You can make this a little more configurable
using the shouldPreferAsync() method in an extension; for example, you might attach the below to UserDefinedForm:
<?php namespace My\App\Extensions; use SilverStripe\Core\Extension; class ShouldPreferAsyncExtension extends Extension { public function shouldPreferAsync() { return $this->owner->Fields()->count() >= 20; } }
Which will default to Queueing if there are 20 or more fields on the User Defined form, but otherwise simply add the queueing actions to the "more options" menu
Features
- replaces the "Save" and "Publish" buttons with "Queue Save" and "Queue Publish"
- adds "Save immediately" and "Publish immediately" to the "More Options" menu (in case of emergency)
- prevents editing while jobs are in the queue to prevent weird race conditions
Screenshots
TODOS
- test better with Unpublish and Archive
- make it more configurable/extensible in general
Maintainers
- Andrew Paxley andrewandante@gmail.com
统计信息
- 总下载量: 243
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 3
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: BSD-3-Clause
- 更新时间: 2022-07-29

