Asynchronous publishing
The ability to use defer publishing, for improved scalability in high load, multi-editor environments.
eZ Publish 4.5 supports a new publishing method used in an environment with a large simultaneous load on the database
- offers a robust multi-editor environment with parallel publishing
- controls the number of objects that can be published concurrently
- sends publishing requests to a queue for asynchronous publishing
- a daemon handles the publishing requests and the queue in the background
- for multiple databases
- better database error handling
- filtering hooks
| The process:
Queue statuses: Pending: The publishing request is now in a queue of publishing requests Working: The request is processed to find a queue and a place in the queue Published: The request has been processed and the object published Irregularities prompts error messages |
Enable the service in “content.ini”:
[PublishingSettings]
# Enable/Disable the asynchronous publishing feature
AsynchronousPublishing=enabled
Customize the queue size in “content.ini”:
[PublishingSettings]
# how many parallel publishing operations should be allowed
# default: 10
PublishingProcessSlots=10
Setting up the service with an init script (recommended in a production setting):
- For Red Hat Enterprise Linux, CentOS, Fedora, SUSE:
bin/startup/rhel/ezasynchronouspublisher
- For Debian and Ubuntu:
bin/startup/debian/ezasynchronouspublisher
Example of script for Debian:
cd /etc/init.d
ln -s /path/to/ezpublish/bin/startup/debian/ezasynchronouspublisher
chmod +x ezasynchronouspublisher
Start daemon:
/etc/init.d/ezasynchronouspublisher start
Daemon options:
/etc/init.d/ezasynchronouspublisher help
Configure daemon to start up on boot:
chkconfig ezasynchronouspublisher on