sitegeist/scentmark

Last activity on 2 February 2021
  • 133
composer require sitegeist/scentmark

v1.0.0

Version
v1.0.0
Type
neos-package
Release Date
26.02.2021 08:24:19
Source
git
Distribution
zip
Requires
  • neos/flow: ~5.3 || ~6.0 || ~7.0 || dev-master
Requires (dev)
None
Suggest
None
Provides
None
Conflicts
None
Replaces
None
GPL-3.0-or-later ee4d144d0ae357490a26a8eeece74282ff6d76ec

Sitegeist.ScentMark

Mark and Sniff on Neos via CLI. This can help to optimize cache flushing in Cluster Environments with a green / blue caching or publishing setup wehere certain tasks like cache flushing or publishing of static resources shall only be excuted on the first container of an newly deployed app version.

Usage

The package contains two cli commands:

  • ./flow scentmark:mark __mark__ Store the given scent in the ScentCache

  • ./flow scentmark:sniff __mark__ Compare the cached scent with the stored value and return an error code if both do not match.

Example

  1. Configure ScentCache to be shared across containers.

Caches.yaml

Sitegeist_ScentMark_ScentCache:
  backend: 'Neos\Cache\Backend\RedisBackend'
  1. Adjust the container spinup script

start.sh:

./flow scentmark:sniff $APP_VERSION
RESULT=$?
if [ $RESULT -ne 0 ]; then
    ./flow scentmark:mark $APP_VERSION
    ./flow flow:cache:flush 
    ./flow resource:publish --collection static
fi
  1. Configure flow to switch with every cache between Green / Blue caching environment
  2. Ensure the current APP_VERSION is available in the containers

Authors & Sponsors

The development and the public-releases of this package is generously sponsored by our employer http://www.sitegeist.de.

Installation

Sitegeist.ScentMark is available via packagist. Run composer require sitegeist/scentmark to require this package.

We use semantic-versioning so every breaking change will increase the major-version number.

Contribution

We will gladly accept contributions. Please send us pull requests.

The content of the readme is provided by Github
The same vendor provides 27 package(s).