[etwist] Do not call repository's start_looping_tasks anymore and warn about this
We are about to drop this method from Repository class and replace it by a
blocking alternative. This is not compatible with how things currently work in
a Twisted server implementation. So do not start repository "looping tasks" in
Twisted server anymore and issue a warning about this.
If someone is interested in restoring the "all-in-one" behavior where the
repository runs within a Twisted server, they may start by implementing
repository looping tasks using a Twisted mechanism such as, e.g.,
http://twistedmatrix.com/documents/current/core/howto/time.html and eventually
provide the repository with a compatible scheduler instance so that is can
register its periodic tasks. At the moment, we lack resources to do this (and
maintain the Twisted server of CubicWeb in general).
Related to #17057223.
Quick start
===========
.. highlight:: bash
Prerequites
-----------
- Install everything (here with pip, possibly in a virtualenv)::
pip install pyramid-cubicweb cubicweb-pyramid pyramid_debugtoolbar
- Have a working Cubicweb instance, for example:
- Make sure CubicWeb is in user mode::
export CW_MODE=user
- Create a CubicWeb instance, and install the 'pyramid' cube on it (see
:ref:`configenv` for more details on this step)::
cubicweb-ctl create pyramid myinstance
- Edit your ``~/etc/cubicweb.d/myinstance/all-in-one.conf`` and set values for
:confval:`pyramid-auth-secret` and :confval:`pyramid-session-secret`.
*required if cubicweb.pyramid.auth and pyramid_cubiweb.session get
included, which is the default*
From CubicWeb
-------------
- Start the instance with the :ref:`'pyramid' command <cubicweb-ctl_pyramid>`
instead of 'start'::
cubicweb-ctl pyramid --debug myinstance
In a pyramid application
------------------------
- Create a pyramid application
- Include cubicweb.pyramid:
.. code-block:: python
def includeme(config):
# ...
config.include('cubicweb.pyramid')
# ...
- Configure the instance name (in the .ini file):
.. code-block:: ini
cubicweb.instance = myinstance
- Configure the base-url and https-url in all-in-one.conf to match the ones
of the pyramid configuration (this is a temporary limitation).
Usage with pserve
-----------------
To run a Pyramid application using pserve_:
::
pserve /path/to/development.ini instance=<appid>
.. _pserve: \
http://docs.pylonsproject.org/projects/pyramid/en/latest/pscripts/pserve.html