Maxcluster: cluster-control restart PHP with deployer
Fabian Blechschmidt
Most of our customers are hosted on maxcluster. And thanks to their cluster-control one can automate a lot of things using it. For example restarting PHP after deployment. You don’t want this on a production environment, but sometimes it might make sense to have it on a stage machine.
host('customer.winkelwagen.de')
// ...
->set('mc-cluster', 'C-1234')
->set('mc-server', 'srv-a');
<?php
task('maxcluster:apache:restart', function () {
$apiKey = escapeshellarg(getenv('MAXCLUSTER_PA_TOKEN'));
run("cluster-control login --pa_token=$apiKey");
run('cluster-control php:restart {{mc-cluster}} {{mc-server}}');
run("cluster-control logout");
})->select('stage=prod');
Other articles from this category
Shopware 6 Hidden Gems #16: CloneBehavior — entity duplication with overrides, one call
You know the admin’s „duplicate“ button on products. Now the ticket says: „We need that, but from code — duplicate a product per sales channel, with adjusted name and its own product number.“ Or: „Campaign landing pages: clone this CMS page 20 times with different headlines.“ I’ve watched this get implemented as: load entity with […]
Shopware 6 Hidden Gems #15: ChangeSet — before/after values for every write, no second query
The requirement sounds harmless every time: „Log when a product price changes, with old and new value.“ Or: „When an order’s email changes, notify the old address.“ Or the audit-trail classic: „Who changed what, from what, to what?“ And every time, the naive implementation is the same sad shape: subscribe to product.written, load the entity […]
Shopware 6 Hidden Gems #14: WriteProtected & ApiAware — field-level security without a single subscriber
A code review scenario. A plugin adds a purchasePrice-style field to a custom entity — internal margin data. The review question: „Can the Store API read this?“ Followed by: „Can the Admin API write that computed field you recalculate in a subscriber?“ The answers, in the plugin at hand, were „yes“ and „yes, and then […]