Developers are used to living in a virtual world, so adjusting has been easier than expected. Recently, we’ve been holding virtual meetups, and we are so happy with the feedback. Digital training sessions allow bakers from all over the world to come together and enjoy.
Our plan is to host one each month, and coordinate time zones so that everyone gets a chance to attend. Our latest one was based around a good time for our Japanese community.
If you missed the meetup, no problem. We always post the recording for playback, and I’ll even give you a quick rundown of the topics covered. Let’s jump in:
CakePHP Fixture Factory Plugin
by Juan Pablo Ramirez
CakePHP Fixture Factory Plugin https://github.com/pakacuda/cakephp-fixture-factories helps to improve the way fixtures are generated, when having a big database writing fixtures can get so complicated. This plugin provides Fixture Factories in replacement of the fixtures found out of the box in CakePHP.
Generating fixtures can be done in a few code lines reducing the effort of writing and maintaining tests.
There are some other plugins to manage fixtures:
- https://github.com/CakeDC/cakephp-db-test We have used DB Test in many of our projects in CakeDC, for big and small applications, it makes the fixtures generation easier.
- https://github.com/FriendsOfCake/fixturize Fixturize Plugin will help improve performance of your fixture based tests. This plugin currently only work with MySQL/MariaDB/Percona databases.
CakePHP Queue Plugin
By Mark Scherer @dereuromark
CakePHP Queue Plugin https://github.com/dereuromark/cakephp-queue is a simple Queue solution, it can be used for small applications and it’s a good one to get started with Job Queues, having something easy to maintain at the beginning is a good starting point.
Queues are a good option for functionalities like: image processing, email sending, PDF generation; to improve the response-time for heavy-processing tasks.
- Documentation https://github.com/dereuromark/cakephp-queue/tree/master/docs
- Demo https://sandbox.dereuromark.de/sandbox/queue-examples
For more robust solutions can be used:
-
CakePHP Queuesadilla https://github.com/josegonzalez/cakephp-queuesadilla This plugin is a simple wrapper around the Queuesadilla queuing library, providing tighter integration with the CakePHP framework. We have used this plugin in CakeDC in several projects, we also had to build a Mongo Engine for a specific client.
CakePHP PHP PM Bridge
By Jorge Gonzalez @steinkel
CakePHP Bridge https://github.com/CakeDC/cakephp-phppm to use with PHP-PM project.
PPM is a process manager, supercharger and load balancer for modern PHP applications. PHP PM It's based on ReactPHP, the approach of this is to kill the expensive bootstrap of PHP (declaring symbols, loading/parsing files) and the bootstrap of feature-rich frameworks.
It’s a good option If you want to significantly improve the responsiveness of an application that could have spikes. PM works as PHP FPM, it’s a replacement for it.
Below some benchmark:
50 Concurrent threads in 10 seconds
- FPM 83 transactions per second, Failed 0, Concurrency 6.58.
- PPM 90.30 transactions per second, Failed 0, Concurrency 3.86.
200 Concurrent threads in 10 seconds
- FPM 116,49 transactions per second, Failed 142, Concurrency 116.64.
- PPM 207.35 transactions per second, Failed 0, Concurrency 85.59.
1000 Concurrent threads in 10 seconds
- FPM 109,88 transactions per second, Failed 1759, Concurrency 187.49.
- PPM 214.91 transactions per second, Failed 0, Concurrency 302.39.
PPM is able to handle a lot of concurrency connections coming in spike to the server in a better way than PHP FPM.
For watching the Meetup visit the following link https://www.youtube.com/watch?v=POI0IwyqULo
Stay up to date on all virtual meetups here https://cakephp.org/pages/meetups