{"id":19989635,"url":"https://github.com/wavesoft/liveq","last_synced_at":"2026-05-25T16:02:46.401Z","repository":{"id":142484000,"uuid":"13479953","full_name":"wavesoft/LiveQ","owner":"wavesoft","description":"A job distribution and monitoring framework with real-time feedback, control and full network awareness.","archived":false,"fork":false,"pushed_at":"2016-01-26T17:28:49.000Z","size":54202,"stargazers_count":3,"open_issues_count":5,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-01T20:02:12.112Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wavesoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-10-10T18:48:12.000Z","updated_at":"2016-01-13T19:40:08.000Z","dependencies_parsed_at":"2023-04-21T00:17:51.773Z","dependency_job_id":null,"html_url":"https://github.com/wavesoft/LiveQ","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wavesoft%2FLiveQ","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wavesoft%2FLiveQ/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wavesoft%2FLiveQ/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wavesoft%2FLiveQ/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wavesoft","download_url":"https://codeload.github.com/wavesoft/LiveQ/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241430321,"owners_count":19961635,"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-11-13T04:48:46.182Z","updated_at":"2026-05-25T16:02:41.340Z","avatar_url":"https://github.com/wavesoft.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# LiveQ\n\nLiveQ is a job distribution and monitoring framework with real-time feedback, control and full network awareness. The framework is modular and designed to be fully scalable.\n\n## Architecture\n\n![LiveQ Architecture](/doc/img/architecture.png?raw=true \"LiveQ Architecture\")\n\n## Installing LiveQ Framework for Virtual Atom Smasher\n\nInstalling the `LiveQ` Framework in order to run for the Virtual Atom Smasher game is a quite complicated process through many steps. Please make sure you follow these steps in order otherwise you might have trouble running the components.\n\n### 1. Installing Services\n\nYou will need to have the following services running in your system (locally or in your cluster):\n\n- [RabbitMQ](https://www.rabbitmq.com/download.html)\n- [ejabberd](http://docs.ejabberd.im/admin/guide/installation/)\n- [Redis](http://redis.io/download)\n- MySQL\n\nIn addition, on the machines that you will run the `liveq-webserver` component, you will need:\n\n- Apache (or any other webserver)\n\n#### 1.1. Configuring the services\n\nYou will also need to prepare the services for use by a `LiveQ`:\n\n- Create two accounts on the `ejabberd` server, one for the agents and one for the managers:\n\n```\nejabberctl register liveq_agent \u003chostname\u003e \u003csecret\u003e\nejabberctl register liveq_manager \u003chostname\u003e \u003csecret\u003e\n```\n\n- Create two databases on the `MySQL` server, one for the `LiveQ` framework (ex. `liveq`) and one for the MyBB forum that will be embedded in the game interface (ex. `mybb`).\n- Create two users on the `MySQL` server and grant them all priviledges on the two databases. \n\n### 2. Installing Software\n\nOn the machines that you are going to run a `LiveQ` agent you are going to need the following software installed:\n\n- Python \u003e= 2.7\n- virtualenv \n- pip\n\nFirst, you need to check-out the latest version of `LiveQ` from github:\n\n```\ngit clone https://github.com/wavesoft/LiveQ\ncd LiveQ\n```\n\nThen you will need to create a directory were to keep the reference histograms and the simulation results:\n\n```\nmkdir -p data.local/{ref,results}\n```\n\nExtract the reference data:\n\n```\ncd data.local/ref\ntar -jxf ../../schema/ref-data.tbz2\n```\n\nFinally, you will need to configure the component you want to use.\n\n#### 2.1. Configuring Job Manager\n\nCopy `liveq-jobmanager/config/jobmanager.conf` to `liveq-jobmanager/config/jobmanager.conf.local` and edit to match your needs:\n\n```\n[general]\nloglevel=info\n\n[database]\nclass=liveq.classes.db.mysql\nserver=\t\t\t\t# \u003c\u003c Hostname of SQL server\ndatabase=\t\t\t# \u003c\u003c Name of the database\nusername=\t\t\t# \u003c\u003c Name of the SQL User\npassword=\t\t\t# \u003c\u003c Password of the SQL User\n\n[store]\nclass=liveq.classes.store.redisdb\nserver=\t\t\t\t# \u003c\u003c Hostname of REDIS server\nport=6379\ndb=0\n\n[internal-bus]\nclass=liveq.classes.bus.amqp\nserver=\t\t\t\t# \u003c\u003c Hostname of RabbitMQ server\nserve=jobs\n\n[external-bus]\nclass=liveq.classes.bus.xmppmsg\ndomain=\t\t\t\t# \u003c\u003c XMPP Domain (ex. 'test.local')\nserver=\t\t\t\t# \u003c\u003c Hostname of the XMPP Server\nusername=\t\t\t# \u003c\u003c XMPP username (ex. liveq_manager)\npassword=\t\t\t# \u003c\u003c XMPP user password\nresource=\t\t\t# \u003c\u003c XMPP Resource (or '%(random)s' for a random)\n\n[jobmanager]\nresults_path=\t\t# \u003c\u003c Full path to a directory were to keep results\ntrusted-channels=\t# \u003c\u003c The XMPP user name of the agent\nfailure_delay=60\nfailure_limit=10\nfailure_retry_delay=86400\nmin_event_thresshold=1000\n\n[histograms]\npath=\t\t\t\t# \u003c\u003c Full path to reference histogram directory \ndefault=rivet\n```\n\n#### 2.2. Configuring Web Server\n\nCopy `liveq-webserver/config/webserver.conf` to `liveq-webserver/config/webserver.conf.local` and edit to match your needs:\n\n```\n\n[general]\nloglevel=info\n\n[internal-bus]\nclass=liveq.classes.bus.amqp\nserver=\t\t\t\t# \u003c\u003c Hostname of RabbitMQ server\n\n[database]\nclass=liveq.classes.db.mysql\nserver=\t\t\t\t# \u003c\u003c Hostname of SQL server\ndatabase=\t\t\t# \u003c\u003c Name of the database\nusername=\t\t\t# \u003c\u003c Name of the SQL User\npassword=\t\t\t# \u003c\u003c Password of the SQL User\n\n[store]\nclass=liveq.classes.store.redisdb\nserver=\t\t\t\t# \u003c\u003c Hostname of REDIS server\nport=6379\ndb=0\n\n[cache]\nclass=liveq.classes.cache.couch\nurl=\t\t\t\t# \u003c\u003c Not used, leave it empty\n\n[histograms]\npath=\t\t\t\t# \u003c\u003c Full path to reference histogram directory \ndefault=rivet\n\n[webserver]\nport=8080\nvas_url=\t\t\t# \u003c\u003c Full URL to the Javascript Interface\ntrainseq_path=\t\t# \u003c\u003c Not used, leave it empty\nbase_url=\t\t\t# \u003c\u003c Full URL to server root (ex. http://127.0.0.1:8080)\nbase_path=/vas \t\t# \u003c\u003c Relative URL were to run the game from\nssl=0\t\t\t\t# \u003c\u003c Set to 1 and fill the rest of the fields for SSL\nssl_port=8043\nssl_certificate=\nssl_key=\nssl_ca=\n\n[forum]\nengine=mybb\nserver=\t\t\t\t# \u003c\u003c Hostname of SQL server\ndatabase=\t\t\t# \u003c\u003c Name of the database that is used by the MyBB forum\nusername=\t\t\t# \u003c\u003c The username mybb uses to access the database\npassword=\t\t\t# \u003c\u003c The password for the above user\nprefix=mybb_\n\n[game]\ndefault_team=1\nexam_cooldown=3600\n\n[email]\nclass=liveq.classes.mail.sendmail\nfrom=\t\t\t\t# \u003c\u003c The sender's e-mail addres\nsendmail=\t\t\t# \u003c\u003c Full path to the 'sendmail' binary in your system\n```\n\n#### 2.3. Configuring Administration Tools\n\nThat's perhaps the most important component of all, since it allows you to check the status of the system. Like before, you will need to copy `tools/config/common.conf` to `tools/config/common.conf.local` and edit like before.\n\nThe sections are already explained before, so just copy them.\n\n### 3. Setting up python environment \u0026 Installing Database\n\nThere is a bootstrap utility that takes care of setting up the environment and running the component. You can use it for example like this:\n]\n\n```\n./bootstrap.sh admin installdb\n```\n\nA few moments later your database should be installed and ready to use!\n\n### 4. Running the Services\n\nThere is a bootstrap utility that takes care of setting up the environment and running the component. You can use it for example like this:\n\n\n```\n./bootstrap.sh liveq-webserver\n```\n\n# License\n\nLiveQ - An interactive volunteering computing batch system\n\nCopyright (C) 2013 Ioannis Charalampidis\n\nThis program is free software; you can redistribute it and/or\nmodify it under the terms of the GNU General Public License\nas published by the Free Software Foundation; either version 2\nof the License, or (at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program; if not, write to the Free Software\nFoundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwavesoft%2Fliveq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwavesoft%2Fliveq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwavesoft%2Fliveq/lists"}