{"id":15629026,"url":"https://github.com/pwwang/cmdqueue","last_synced_at":"2025-08-16T16:08:47.588Z","repository":{"id":20505819,"uuid":"23784374","full_name":"pwwang/cmdQueue","owner":"pwwang","description":"A job queue available on Windows and *nix","archived":false,"fork":false,"pushed_at":"2017-08-29T22:50:26.000Z","size":47,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-29T23:11:49.436Z","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/pwwang.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":"2014-09-08T08:48:50.000Z","updated_at":"2021-09-09T22:13:39.000Z","dependencies_parsed_at":"2022-08-21T18:21:07.735Z","dependency_job_id":null,"html_url":"https://github.com/pwwang/cmdQueue","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/pwwang/cmdQueue","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pwwang%2FcmdQueue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pwwang%2FcmdQueue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pwwang%2FcmdQueue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pwwang%2FcmdQueue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pwwang","download_url":"https://codeload.github.com/pwwang/cmdQueue/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pwwang%2FcmdQueue/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270735185,"owners_count":24636321,"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-08-16T02:00:11.002Z","response_time":91,"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-10-03T10:25:21.624Z","updated_at":"2025-08-16T16:08:47.558Z","avatar_url":"https://github.com/pwwang.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"cmdQueue\n========\n\nA job queue implemented in Python\n\n\nUsage\n-----\n\n#### Add a job:\n```bash\nusage: cqsub [-h] [--config CONFIG] [--noworker] [-n NAME] [-p PRI] [-c CMD]\n             [cqfile]\n\nSubmit a job to cmdQueue.\n\npositional arguments:\n  cqfile                The cmdQueue job file.\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --config CONFIG       The configuration file.\n  --noworker            Don't try to start the worker.\n  -n NAME, --name NAME  The name of the job.\n  -p PRI, --pri PRI     The priority of the job.\n  -c CMD, --cmd CMD     The command of the job\n```\n\n#### List jobs:\n\n```bash\ncqstat \n\n  ID    NAME     STATUS   PRI                 CMD     PID   RC             STARTTIME            SUBMITTIME          COMPLETETIME \n----+-------+----------+-----+-------------------+-------+----+---------------------+---------------------+---------------------\n   1   Job-1   COMPLETE     0   bash -c \"sleep 3\"   66448    0   2017-08-29 14:44:46   2017-08-29 14:44:41   2017-08-29 14:44:49\n   2   Job-2   COMPLETE     0   bash -c \"sleep 3\"   66554    0   2017-08-29 14:45:36   2017-08-29 14:45:31   2017-08-29 14:45:39\n   3   Job-3   COMPLETE     0   bash -c \"sleep 3\"   66594    0   2017-08-29 14:46:06   2017-08-29 14:45:56   2017-08-29 14:46:09\n   4   Job-4   COMPLETE     0   bash -c \"sleep 3\"   66783    0   2017-08-29 14:46:46   2017-08-29 14:46:37   2017-08-29 14:46:49\n   5   Job-5   COMPLETE     0   bash -c \"sleep 3\"   66814    0   2017-08-29 14:47:26   2017-08-29 14:47:17   2017-08-29 14:47:29\n   6   Job-6   COMPLETE     0            sleep 10   15282    0   2017-08-29 16:08:24   2017-08-29 16:08:19   2017-08-29 16:08:34\n\nJobs: COMPLETE: 6\nWorker is not running.\nNumber of subworkers: 10.\nJobs are pulled every 10 seconds.\n\n```\n\n#### Start the queue:\n```bash\ncqctl start\n```\n\t\n#### Stop the queue:\n```bash\ncqctl stop\n```\n\t\n#### Restart the queue:\n```bash\ncqctl restart\n```\n\n#### Reset the queue (remove all workers and jobs)\n```bash\ncqctl reset\n```\n\nStart a different queue\n-----------------------\n\n#### Using configuration file:\n```bash\ncqctl --config \u003canotherConfigFile\u003e start\n```\n\t\n#### Configuration file:\n```ini\n\n[general]\nnworkers  = 10 \ninterval = 10\ndatabase = sqlite\nworkerlock = ~/.cmdQueue/cmdQueue.worker.lock\nplugins = sample\n\n[log] \nfile = ~/.cmdQueue/cmdQueue.log\nlevel = info\n\n[dbconfig]\nfile = ~/.cmdQueue/cmdQueue.db\nlock = ~/.cmdQueue/cmdQueue.db.lock\n```\n\n\nPlugins\n-------------\nTo enable a built-in plugin in `cmdQueue/plugins`, just put the name in config file under:\n```\n[general]\nplugins:\n  plugin1\n  plugin2\n```\n\nTo develop a plugin, write a class extends `cmdQueue.plugin.Plugin`.\nIn the config file, specify the directory of the plugin file:\n```\n[general]\nplugins:\n\tmyplugin\n\t\n[mypluginPlugin]\ndir: /path/to/myplugin\n```\nThere should be a `myplugin.py` under `/path/to/myplugin`\nThe class name should be `mypluginPlugin`\n\nThe `priority` argument determines the order of multiple plugins. Smaller number means higher priority.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpwwang%2Fcmdqueue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpwwang%2Fcmdqueue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpwwang%2Fcmdqueue/lists"}