Skip to content
This repository
branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 docs Back to development: 1.7 October 09, 2012
Octocat-spinner-32 src pre release & rst October 09, 2012
Octocat-spinner-32 .gitignore add files to ignore May 27, 2013
Octocat-spinner-32 MANIFEST.in buildouts refresh September 25, 2012
Octocat-spinner-32 README.rst forgot contents... October 09, 2012
Octocat-spinner-32 base.cfg pre release & rst October 09, 2012
Octocat-spinner-32 bootstrap.py Upload plone.app.async to plone's svn October 25, 2010
Octocat-spinner-32 buildout-plone3-multi-db.cfg Bump zc.async version. July 21, 2011
Octocat-spinner-32 buildout-plone3-single-db.cfg Bump zc.async version. July 21, 2011
Octocat-spinner-32 multidb-base.cfg buildouts refresh September 25, 2012
Octocat-spinner-32 multidb-test-4.0.x.cfg buildout.plonetest is now on github October 18, 2012
Octocat-spinner-32 multidb-test-4.1.x.cfg buildout.plonetest is now on github October 18, 2012
Octocat-spinner-32 multidb-test-4.2.x.cfg buildout.plonetest is now on github October 18, 2012
Octocat-spinner-32 multidb-test-4.3.x.cfg buildout.plonetest is now on github October 18, 2012
Octocat-spinner-32 multidb.cfg buildout.plonetest is now on github October 18, 2012
Octocat-spinner-32 setup.py Back to development: 1.7 October 09, 2012
Octocat-spinner-32 singledb-base.cfg add parameters for ports for a better thirdparty reuse of the buildouts September 25, 2012
Octocat-spinner-32 singledb-test-4.0.x.cfg buildout.plonetest is now on github October 18, 2012
Octocat-spinner-32 singledb-test-4.1.x.cfg buildout.plonetest is now on github October 18, 2012
Octocat-spinner-32 singledb-test-4.2.x.cfg buildout.plonetest is now on github October 18, 2012
Octocat-spinner-32 singledb-test-4.3.x.cfg buildout.plonetest is now on github October 18, 2012
Octocat-spinner-32 singledb.cfg buildout.plonetest is now on github October 18, 2012
README.rst

plone.app.async

Introduction

Integration package for zc.async allowing asynchronous operations in Plone 3 and 4.

Repository

Installation

You will typically run plone.app.async in a ZEO environment, where you will have one or more worker instances carrying out jobs queued by your main zope instances.

For the sake of simplicity it is assumed that you have one instance that can queue new jobs, and one worker instance that consumes them, both operating on a single database. In this case your buildout configuration will look similar to the following:

[zeo]
recipe = plone.recipe.zope2zeoserver
file-storage = ${buildout:directory}/var/filestorage/Data.fs

[instance]
recipe = plone.recipe.zope2instance
eggs = Plone plone.app.async
zcml =
zcml-additional =
    <include package="plone.app.async" file="single_db_instance.zcml" />
environment-vars =
    ZC_ASYNC_UUID ${buildout:directory}/var/instance-uuid.txt

[worker]
recipe = plone.recipe.zope2instance
eggs = ${instance:eggs}
zcml = ${instance:zcml}
zcml-additional =
    <include package="plone.app.async" file="single_db_worker.zcml" />
environment-vars =
    ZC_ASYNC_UUID ${buildout:directory}/var/worker-uuid.txt

There are two important stanzas here:

  • Each instance has to set the ZC_ASYNC_UUID environment variable in order to integrate properly with zc.async.
  • Each instance loads the single_db_instance.zcml configuration. The worker instance loads the single_db_worker.zcml configuration in order to setup the queue and configure itself as a dispatcher.

For more details please look at the example buildout configurations included in the package.

Plone 3

Use zope.app.keyreference

Plone 4

Use five.intid

Credits

Code from Enfold's plone.async.core package has been used for setting up the queues.

References

Something went wrong with that request. Please try again.