{"id":13414097,"url":"https://github.com/topfreegames/apm","last_synced_at":"2025-04-12T17:23:19.589Z","repository":{"id":57488556,"uuid":"46433503","full_name":"topfreegames/apm","owner":"topfreegames","description":"APM is a process manager for Golang applications.","archived":false,"fork":false,"pushed_at":"2016-11-24T20:58:45.000Z","size":241,"stargazers_count":168,"open_issues_count":9,"forks_count":88,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-04-12T17:23:19.159Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/topfreegames.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":"2015-11-18T16:56:48.000Z","updated_at":"2025-02-26T03:52:12.000Z","dependencies_parsed_at":"2022-08-29T13:31:55.027Z","dependency_job_id":null,"html_url":"https://github.com/topfreegames/apm","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/topfreegames%2Fapm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/topfreegames%2Fapm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/topfreegames%2Fapm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/topfreegames%2Fapm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/topfreegames","download_url":"https://codeload.github.com/topfreegames/apm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248602756,"owners_count":21131688,"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-07-30T20:01:57.572Z","updated_at":"2025-04-12T17:23:19.561Z","avatar_url":"https://github.com/topfreegames.png","language":"Go","funding_links":[],"categories":["Utilities","公用事业公司","实用工具","工具库`可以提升效率的通用代码库和工具`","實用工具","Go","工具库","Utility"],"sub_categories":["Utility/Miscellaneous","Advanced Console UIs","实用程序/Miscellaneous","Fail injection","HTTP Clients","查询语","高級控制台界面","\u003cspan id=\"高级控制台用户界面-advanced-console-uis\"\u003e高级控制台用户界面 Advanced Console UIs\u003c/span\u003e","交流","高级控制台界面"],"readme":"\u003cdiv align=\"center\"\u003e\n     \u003ca\u003e\n        \u003cimg height=\"400px\" width=\"400px\" src=\"https://cloud.githubusercontent.com/assets/5413599/12247882/2fcb1ca6-b89d-11e5-933e-efade26acf13.jpg\"\u003e\n     \u003c/a\u003e\n     \u003cbr/\u003e\n     \u003cb\u003eA\u003c/b\u003e(guia) \u003cb\u003eP\u003c/b\u003e(rocess) \u003cb\u003eM\u003c/b\u003e(anager)\n     \u003cbr/\u003e\u003cbr/\u003e\n\u003c/div\u003e\n# APM - Aguia Process Manager\nAPM is a lightweight process manager written in Golang for Golang applications. It helps you keep your applications alive forever, reload and start them from the source code.\n\n[![ReportCard](http://goreportcard.com/badge/topfreegames/apm)](http://goreportcard.com/badge/topfreegames/apm)\n[![GoDoc](https://godoc.org/github.com/topfreegames/apm?status.svg)](https://godoc.org/github.com/topfreegames/apm)\n\nStarting an application is easy:\n```bash\n$ ./apm bin app-name --source=\"github.com/topfreegames/apm\"\n```\n\nThis will basically compile your project source code and start it as a\ndaemon in the background. The application will have already be\ndownloaded into `GOPATH` issuing something like\n\n\tgo get github.com/topfreegames/apm\n\nYou will probably be able to run anything in any directory, as long as\nit is under `GOPATH`\n\n## Install APM\n\n```bash\n$ go get github.com/topfreegames/apm\n```\n\n## Start APM\n\nIn order to properly use APM, you always need to start a server. This will be changed in the next version, but in the meantime you need to run the command bellow to start using APM.\n```bash\n$ apm serve\n```\nIf no config file is provided, it will default to a folder '.apmenv' where `apm` is first started.\n\n## Stop APM\n\n```bash\n$ apm serve-stop\n```\n\n## Starting a new application\nIf it's the first time you are starting a new golang application, you need to tell APM to first build its binary. Then you need to first run:\n```bash\n$ apm bin app-name --source=\"github.com/yourproject/project\"\n```\n\nThis will automatically compile, start and daemonize your application. If you need to later on, stop, restart or delete your app from APM, you can just run normal commands using the app-name you specified. Example:\n```bash\n$ apm stop app-name\n$ apm restart app-name\n$ apm delete app-name\n```\n\n## Main features\n\n### Commands overview\n\n```bash\n$ apm serve --config-file=\"config/file/path.toml\"\n$ apm serve-stop --config-file=\"config/file/path.toml\"\n\n$ apm bin app-name --source=\"github.com/topfreegames/apm\"   # Compile, start, daemonize and auto restart application.\n$ apm start app-name                                        # Start, daemonize and auto restart application.\n$ apm restart app-name                                      # Restart a previously saved process\n$ apm stop app-name                                         # Stop application.\n$ apm delete app-name                                       # Delete application forever.\n\n$ apm save                                                  # Save current process list\n$ apm resurrect                                             # Restore previously saved processes\n\n$ apm status                                                # Display status for each app.\n```\n\n### Managing process via HTTP\n\nYou can also use all of the above commands via HTTP requests. Just set the flag ```--dns``` together with ```./apm serve``` and then you can use a remote client to start, stop, delete and query status for each app. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftopfreegames%2Fapm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftopfreegames%2Fapm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftopfreegames%2Fapm/lists"}