{"id":23988754,"url":"https://github.com/paulnovack/php-zeromqasyncsqlreprepl","last_synced_at":"2026-04-18T12:32:42.980Z","repository":{"id":269207320,"uuid":"906724855","full_name":"PaulNovack/PHP-ZeroMQAsyncSQLRepRepl","owner":"PaulNovack","description":"PHP ZeroMQ / Parallels Async Querys","archived":false,"fork":false,"pushed_at":"2024-12-29T01:58:49.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-25T03:12:55.753Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PaulNovack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-21T18:07:54.000Z","updated_at":"2024-12-29T01:58:52.000Z","dependencies_parsed_at":"2024-12-21T19:23:19.581Z","dependency_job_id":"2536f7b0-f8bc-4a4f-880c-64231e08131b","html_url":"https://github.com/PaulNovack/PHP-ZeroMQAsyncSQLRepRepl","commit_stats":null,"previous_names":["paulnovack/php-zeromqasyncsqlreprepl"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PaulNovack/PHP-ZeroMQAsyncSQLRepRepl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaulNovack%2FPHP-ZeroMQAsyncSQLRepRepl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaulNovack%2FPHP-ZeroMQAsyncSQLRepRepl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaulNovack%2FPHP-ZeroMQAsyncSQLRepRepl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaulNovack%2FPHP-ZeroMQAsyncSQLRepRepl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PaulNovack","download_url":"https://codeload.github.com/PaulNovack/PHP-ZeroMQAsyncSQLRepRepl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaulNovack%2FPHP-ZeroMQAsyncSQLRepRepl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31969675,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T00:39:45.007Z","status":"online","status_checked_at":"2026-04-18T02:00:07.018Z","response_time":103,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-07T16:15:28.832Z","updated_at":"2026-04-18T12:32:42.942Z","avatar_url":"https://github.com/PaulNovack.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PHP-ZeroMQAsyncSQLReqRepl\n\n## Deprecated had reliablility issues with implementing with PHP-Parallels\n\nFor a more durable server use the c++ version here: https://github.com/PaulNovack/CppZeroMQAsynchSQLServer\n\nPHP Server running parallels and zeroMQ can segfault in certain conditions.   The c++ version is much more stable.\n\nThis implements a ZeroMQ server that can recieve SQL queries from ZeroMQ messages and process them in threads using PHP Parallel extension.\n\nPHP Clients send a Unique Identifier with a query that the client can later retrieve the results.   This allows clients to send sql calls to be executed in a non blocking manner and retrieve the results later on after they have executed and there are results.\n\nIn the example client.php script. There are 1000 sql selects with a random 1 to 5 second delay. They are sent to the PHP ZeroMQ server and then the results are retrieved for each unique query identifier and then the client exits.\n\nQueues are completely handled by ZeroMQ. There is a setting for the max threads in the code.  Above that requests will just stay in zeroMQ's internal queue.\n\nIf the mySQL server has to many connections the threads will retry every second until there are available connections.  Thus ensuring sql commands eventually get executed.\n\n## Running\n\n### Build the containers\n\ndocker compose build\n\n### Start the containers\n\ndocker compose up\n\n### Run the client that is in the php-zmq-parallel-server\n\ndocker exec -it php-zmq-parallel-server bash\n\ncd app\n\nphp client.php\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaulnovack%2Fphp-zeromqasyncsqlreprepl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpaulnovack%2Fphp-zeromqasyncsqlreprepl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaulnovack%2Fphp-zeromqasyncsqlreprepl/lists"}