Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/neighborhoods/kojo
Kōjō - a distributed task manager.
https://github.com/neighborhoods/kojo
distributed-task-scheduling hacktoberfest php task-management task-manager
Last synced: about 1 month ago
JSON representation
Kōjō - a distributed task manager.
- Host: GitHub
- URL: https://github.com/neighborhoods/kojo
- Owner: neighborhoods
- License: mit
- Created: 2018-05-01T17:58:01.000Z (over 6 years ago)
- Default Branch: 5.x
- Last Pushed: 2021-11-09T18:48:56.000Z (about 3 years ago)
- Last Synced: 2024-11-13T06:31:06.092Z (about 2 months ago)
- Topics: distributed-task-scheduling, hacktoberfest, php, task-management, task-manager
- Language: PHP
- Homepage:
- Size: 1.24 MB
- Stars: 13
- Watchers: 28
- Forks: 5
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# ⚡ Neighborhoods Kōjō ⚡
# 工場
A distributed task manager.### `Kōjō` is a collection of the following components:
* Distributed task management.
* Distributed, cooperative, process-aware semaphores and mutexes.
* Static cron scheduling.
* Multi-process model.
* Distributed IPC.## Trying out Kōjō
Real-world use cases for Kōjō and instructions for getting Kōjō up and running in your project can be found at [KojoFitness](https://github.com/neighborhoods/KojoFitness).
## Debugging Kōjō
XDebug version greater than `xdebug-2.7.0alpha1` is required when trying to debug Kōjō. This version of XDebug resolves issues (https://bugs.xdebug.org/938) caused by the way the Kōjō forks using `pcntl`.If you are using PhpStorm and you have more concurrent Kōjō jobs running than the `Max. simultaneous connections` defined for your XDebug listener, Kōjō will appear to hang. To avoid this, increase your `Max. simultaneous connections` to the max value of `20` in PhpStorm's preferences under `Languages & Frameworks` > `PHP` > `Debug`, `External connections` section.
## Kōjō appears to be hanging during local development?
* Stop all local containers and rebuild them
* Run `ps -auxf` to see if any processes are still running Kōjō with a title like `neighborhoods-kojo: /server[8]/root[22]/job[30]`
- If yes run `pkill -9 -f kojo` to SIG_KILL all the processes containing the word `kojo`
* Run `docker-compose exec redis redis-cli monitor` to see if Kōjō is creating any activity in redis.
* If nothing is streaming by like `"GET" "/neighborhoods/kojo/area_manager/job_state_changelog_processor.lock"` messages then something else is blocking the execution of Kōjō internals. This is typically due to a debugger.
* Turn off the debugger. Sometimes this will mess with Kojo
* Check your version of XDebug (version before `2.7.0` won't work and `2.8.2` has seen some odd behavior. Recommend `2.9.2`)
* Checkout the debugging logs [Troubleshooting common PHP debugging issues - Help | PhpStorm](https://www.jetbrains.com/help/phpstorm/troubleshooting-php-debugging.html#)