{"id":21042879,"url":"https://github.com/erankitcs/celeryproject","last_synced_at":"2026-04-21T08:39:49.789Z","repository":{"id":118644016,"uuid":"164402760","full_name":"erankitcs/celeryproject","owner":"erankitcs","description":"A Practical Guide to the Celery Distributed Task Queue","archived":false,"fork":false,"pushed_at":"2019-01-09T10:55:35.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-13T21:44:07.317Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/erankitcs.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":"2019-01-07T08:41:42.000Z","updated_at":"2019-01-09T10:55:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"a6f28d64-b9ae-4d7b-bc04-54e2fc08e6ef","html_url":"https://github.com/erankitcs/celeryproject","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/erankitcs/celeryproject","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erankitcs%2Fceleryproject","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erankitcs%2Fceleryproject/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erankitcs%2Fceleryproject/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erankitcs%2Fceleryproject/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/erankitcs","download_url":"https://codeload.github.com/erankitcs/celeryproject/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erankitcs%2Fceleryproject/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28077991,"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","status":"online","status_checked_at":"2025-12-27T02:00:05.897Z","response_time":58,"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":"2024-11-19T14:09:22.518Z","updated_at":"2025-12-27T11:26:24.763Z","avatar_url":"https://github.com/erankitcs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# celeryproject\nA Practical Guide to the Celery Distributed Task Queue\n\nCelery is a asynchronous task queue/job queue based on distributed message passing.\nIt is focused on real time but it can be scheduled one as well.\n\nBasic unit of Celery is Tasks which are executed concurrently on single or more worker servers using multiprocessing.\n\nTask can be executed in background(asynchronous) or wait until ready(synchronous).\n\nTask queues are used as a mechanism to distribute work across threads or machines.\n\nDedicated worker processes constantly monitor task queues for new work to perform. Celery communicates via messages usually using a broker\nto mediate  between clients and workers.\n\nTo initiates a task, usually client adds a message to the queue, broker then delivers that message to a worker.\n\nHence, Celery needs a message transport to send and recieve messages.The RabbitMQ and Redis broker transports are feature complete, but there’s others \nalso.\n \nCelery can run on a single machine, on multiple machines, or even across data centers.\n\nGETTING STARTED\nInstall celery by download or \n\npip install -U Celery\n\nSet up RabbitMQ, Redis or one of the other supported brokers.\n\n----Installing RabbitMQ : \n\nRabbitMQ requires a 64-bit supported version of Erlang for Windows to be installed.\n\nDownload Erlang from below link:\nhttp://www.erlang.org/downloads\n\nErlang installer must be run using an administrative account otherwise a registry key expected by the RabbitMQ installer will not be present.\n\nThen, run the RabbitMQ installer, rabbitmq-server-3.7.9.exe. It installs RabbitMQ as a Windows service and starts it using the default configuration.\n\nTo stop the broker or check its status, use rabbitmqctl.bat in sbin (as an administrator).\n\nStopping the Node     ==\u003e rabbitmqctl.bat stop\nChecking Node Status  ==\u003e rabbitmqctl.bat status\n\nSeeting Up RabbitMQ : \n\nD:\\Study\\rabbitmq_server-3.7.9\\sbin\u003erabbitmqctl.bat add_user ankit ankit123\nAdding user \"ankit\" ...\n\nD:\\Study\\rabbitmq_server-3.7.9\\sbin\u003erabbitmqctl.bat add_vhost ankit_vhost\nAdding vhost \"ankit_vhost\" ...\n\nD:\\Study\\rabbitmq_server-3.7.9\\sbin\u003erabbitmqctl.bat set_user_tags ankit ankit_tag\nSetting tags for user \"ankit\" to [ankit_tag] ...\n\nD:\\Study\\rabbitmq_server-3.7.9\\sbin\u003erabbitmqctl.bat set_permissions -p ankit_vhost ankit \".*\" \".*\" \".*\"\nSetting permissions for user \"ankit\" in vhost \"ankit_vhost\" ...\n\n\n\nCelery is on the Python Package Index (PyPI), so it can be installed with standard Python tools like pip or easy_install:\n\n$ pip install celery\n\n---Fix for the issue : \n---D:\\Study\\Python\\Projects\\celeryproject\\celeryproject\\venv\\Lib\\site-packages\\celery\\backends  --\u003e Change async file name to asynchronous\n\n---Change rpc.py ---\u003e import statement from async to asynchronous\n\n\nRunning a worker Process: \n\ncelery -P solo -A tasks worker --loglevel=info\n\nThere is bug into celery where it is not able to specify worker class automatically hence passing it through startup command: -P solo\n\n\nRunning a test script: \n\n(venv) D:\\Study\\Python\\Projects\\celeryproject\\celeryproject\u003epython  Test.py\nTask finished?  False\nTask result:  None\nTask finished?  True\nTask result:  101\n\n(venv) D:\\Study\\Python\\Projects\\celeryproject\\celeryproject\u003e\n\nYou can install Flower as well and keep tracking your request.\n\n\u003epip install flower\n\nStarting flower:\n\n(venv) D:\\Study\\Python\\Projects\\celeryproject\\celeryproject\u003ecelery -A tasks flower\n[I 190109 21:45:23 command:139] Visit me at http://localhost:5555\n[I 190109 21:45:23 command:144] Broker: amqp://guest:**@localhost:5672//\n[I 190109 21:45:23 command:147] Registered tasks:\n    ['celery.accumulate',\n     'celery.backend_cleanup',\n     'celery.chain',\n     'celery.chord',\n     'celery.chord_unlock',\n     'celery.chunks',\n     'celery.group',\n     'celery.map',\n     'celery.starmap',\n     'tasks.add']\n[I 190109 21:45:23 mixins:224] Connected to amqp://guest:**@127.0.0.1:5672//\n\n\n\n \n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferankitcs%2Fceleryproject","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferankitcs%2Fceleryproject","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferankitcs%2Fceleryproject/lists"}