Download the PHP package ackintosh/snidel without Composer
On this page you can find all versions of the php package ackintosh/snidel. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download ackintosh/snidel
More information about ackintosh/snidel
Files in ackintosh/snidel
Package snidel
Short Description A multi-process container. It looks like multi-thread-ish.
License MIT
Homepage http://ackintosh.github.io/
Informations about the package snidel
Snidel
A multi-process container. Snidel makes it easier for all PHP developers to work with parallel processing without any extensions.
Please consider donating to this project's author, Akihito Nakano, to show your :heart: and support.
Sponsor @ackintosh on GitHub Sponsors
What Snidel solves?
(en)
Not a few people, start their programming carrier with PHP, and go on. Parallel processing, they are not familiar with it, and may be a hurdle for them.
Or else, people who limited to develop with a language that is not PHP (e.g. A language that has superior feature for parallel processing). (It's me in past.)
To make parallel processing more easily and instinctively to them to use, I started developing Snidel.
Snidel can be one of your options when you are considering "How to do it parallelly?". It's an honer for me.
(ja)
PHPでプログラミングに入門して、PHPでキャリアを積み重ねているプログラマがある程度いると思います(私がそうです)。そのような方にとって並列処理は馴染みがなかったり、敷居の高さを感じるのではないでしょうか。
或いは諸事情によりPHP以外の言語(例えば、並列処理のための優れた機構を持った言語)を利用する事を制限されている中で開発を進めなければならない状況にある方もいらっしゃるでしょう(以前の私がそうでした)。
そのような方が、手軽に・直感的に並列処理を使って問題解決できることを目的として Snidel の開発をはじめました。
"この処理を並列に実行したいんだけどどうしよう?" といった場合に Snidel がみなさんの選択肢のひとつになれたら幸いです。
Installing Snidel via Composer
Architecture
Benefits
It is also possible parallel processing via build-in functions (e.g. exec
):
For the developers who feels "pain" with the above, Snidel can provides pretty good experience and will streamline their PHP programming.
We will walk through usage to show how Snidel melt parallel processing into your programming. The experience using Snidel should resolve your pain. Let's get started!
Usage
Basic Usage
Constructor parameters
All parameters are optional.
Same arguments as call_user_func_array
Tagging the task
Logging
Snidel supports logging with logger which implements PSR-3: Logger Interface.
Error informations of children
Using custom queue
Snidel depends on Bernard as a queue abstraction layer. Bernard is a multi-backend PHP library for creating background jobs for later processing.
By default Snidel builds the flatfile driver, but from a race condition perspective, we recommend using a more reliable queue in production.
Amazon SQS
For details on the driver, please see here.
Articles
Here are articles that introducing Snidel. Thank you!
- [PHP-Дайджест № 134 (24 июня – 8 июля 2018) / Блог компании Zfort Group / Хабр https://habr.com/ru/company/zfort/blog/416543/]
Requirements
Version Guidance
Snidel | PHP |
---|---|
0.1 ~ 0.8 | >= 5.3 |
0.9 ~ | >= 5.6 |
0.13 | >= 7.1 |
Docker
We suggest you give it a try with Docker as Snidel requires some php extensions shown in Requirements.
Run unit tests in docker container
Author
Snidel © ackintosh, Released under the MIT License.
Authored and maintained by ackintosh
GitHub @ackintosh / Twitter @NAKANO_Akihito / Blog (ja)
Blog entries by author about Snidel (ja):
- https://ackintosh.github.io/blog/2015/09/29/snidel/
- https://ackintosh.github.io/blog/2015/11/08/snidel_0_2_0/
- https://ackintosh.github.io/blog/2016/04/04/snidel_0_4_0/
- https://ackintosh.github.io/blog/2016/04/04/snidel_0_5_0/
- https://ackintosh.github.io/blog/2016/05/04/snidel_0_6_0/
- https://ackintosh.github.io/blog/2016/09/09/snidel_0_7_0/
- https://ackintosh.github.io/blog/2017/03/10/snidel_0_8_0/
- https://ackintosh.github.io/blog/2017/07/17/snidel_0_9_0/
Acknowledgments
Thanks to JetBrains for supporting us with a Free Open Source License.
All versions of snidel with dependencies
php Version >=7.1.0
psr/log Version ^1.0
opis/closure Version ^3.0.7
ext-pcntl Version *
ext-posix Version *