{"id":15318744,"url":"https://github.com/appleboy/codeigniter-gearman-library","last_synced_at":"2025-04-15T02:29:46.307Z","repository":{"id":10894721,"uuid":"13187496","full_name":"appleboy/CodeIgniter-Gearman-Library","owner":"appleboy","description":"Gearman library for CodeIgniter PHP Framework","archived":false,"fork":false,"pushed_at":"2013-12-13T08:37:28.000Z","size":163,"stargazers_count":18,"open_issues_count":1,"forks_count":7,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-10T08:31:58.113Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/appleboy.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}},"created_at":"2013-09-29T06:05:03.000Z","updated_at":"2022-11-28T16:16:16.000Z","dependencies_parsed_at":"2022-07-09T23:16:21.431Z","dependency_job_id":null,"html_url":"https://github.com/appleboy/CodeIgniter-Gearman-Library","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appleboy%2FCodeIgniter-Gearman-Library","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appleboy%2FCodeIgniter-Gearman-Library/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appleboy%2FCodeIgniter-Gearman-Library/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appleboy%2FCodeIgniter-Gearman-Library/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/appleboy","download_url":"https://codeload.github.com/appleboy/CodeIgniter-Gearman-Library/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248993682,"owners_count":21195230,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":"2024-10-01T09:02:25.974Z","updated_at":"2025-04-15T02:29:46.247Z","avatar_url":"https://github.com/appleboy.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"#Codeigniter Gearman Library\n\nThis is a library to use gearman within codeigniter. The original source was pulled from Sunil here https://github.com/sunils34/codeigniter-gearman-library. I add some feature and remove deprecated function.\n\nPlease make sure you have setuped gearman daemon environment and gearman pecl drivers. (http://pecl.php.net/package/gearman).\n\n##Set up gearman environment\n\nFor Ubuntu/Debian OS (apt-get install):\n\ninstall gearman server\n\n```\n$ aptitude -y install gearman gearman-job-server libgearman-dev libdrizzle0\n```\n\ninstall gearman extension\n\n```\n$ pecl install channel://pecl.php.net/gearman-1.1.2\n```\n\n## Installation\n\nYou can install via http://getsparks.org/packages/codeigniter-gearman/show\n\n```\n$ php tools/spark install -v1.0.2 codeigniter-gearman\n```\n\nor manual install\n\n```\n$ cp config/gearman.php your_application/config/\n$ cp libraries/lib_gearman.php your_application/libraries/\n```\n\n## Usage\n\nload library from spark:\n\n```\n$this-\u003eload-\u003espark('codeigniter-gearman/1.0.2');\n```\n\nor load library from manual install:\n\n```\n$this-\u003eload-\u003elibrary('lib_gearman');\n```\n\n### Client Example\n\nPlease refer: `example/cli.php`\n\n    public function client()\n    {\n        $this-\u003elib_gearman-\u003egearman_client();\n\n        $emailData = array(\n            'name'  =\u003e 'web',\n            'email' =\u003e 'member@example.com',\n        );\n        $imageData = array(\n            'image' =\u003e '/var/www/pub/image/test.png',\n        );\n\n        $this-\u003elib_gearman-\u003edo_job_background('sendEmail', serialize($emailData));\n        echo \"Email sending is done.\\n\";\n        $this-\u003elib_gearman-\u003edo_job_background('resizeImage', serialize($imageData));\n        echo \"Image resizing is done.\\n\";\n    }\n\n### Worker example\n\n    public function worker()\n    {\n        $worker = $this-\u003elib_gearman-\u003egearman_worker();\n\n        $this-\u003elib_gearman-\u003eadd_worker_function('sendEmail', 'Cli::doSendEmail');\n        $this-\u003elib_gearman-\u003eadd_worker_function('resizeImage', 'Cli::doResizeImage');\n\n        while ($this-\u003elib_gearman-\u003ework()) {\n            if (!$worker-\u003ereturnCode()) {\n                echo \"worker done successfully \\n\";\n            }\n            if ($worker-\u003ereturnCode() != GEARMAN_SUCCESS) {\n                echo \"return_code: \" . $this-\u003elib_gearman-\u003ecurrent('worker')-\u003ereturnCode() . \"\\n\";\n                break;\n            }\n        }\n    }\n\n### Define job function\n\n    public static function doSendEmail($job)\n    {\n        $data = unserialize($job-\u003eworkload());\n        print_r($data);\n        sleep(2);\n        echo \"Email sending is done really.\\n\\n\";\n    }\n\n    public static function doResizeImage($job)\n    {\n        $data = unserialize($job-\u003eworkload());\n        print_r($data);\n        sleep(2);\n        echo \"Image resizing is really done.\\n\\n\";\n    }\n\n### Run Test\n\nrun worker:\n\n```\n$ php app/index.php cli worker\n```\n\nrun client:\n\n```\n$ php app/index.php cli client\n$ php app/index.php cli client\n$ php app/index.php cli client\n....\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappleboy%2Fcodeigniter-gearman-library","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fappleboy%2Fcodeigniter-gearman-library","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappleboy%2Fcodeigniter-gearman-library/lists"}