邻里/kojo

邻里Kōjō是一个分布式任务管理器。

5.5.0 2021-11-09 18:46 UTC

This package is auto-updated.

Last update: 2024-09-10 01:34:11 UTC


README

工厂

分布式任务管理器。

Kōjō 是以下组件的集合

  • 分布式任务管理。
  • 分布式、协作、进程感知的信号量和互斥锁。
  • 静态cron调度。
  • 多进程模型。
  • 分布式IPC。

尝试Kōjō

有关Kōjō的实际应用案例和将Kōjō部署到您项目的说明,请参阅 KojoFitness

调试Kōjō

尝试调试Kōjō时,需要XDebug版本大于 xdebug-2.7.0alpha1。此版本的XDebug解决了由Kōjō使用 pcntl 分叉引起的问题(https://bugs.xdebug.org/938)。

如果您使用PhpStorm,并且运行的Kōjō作业数超过XDebug监听器定义的“最大同时连接数”,则Kōjō看起来会挂起。为了避免这种情况,请将“最大同时连接数”增加到PhpStorm的“语言和框架”>“PHP”>“调试”>“外部连接”部分中的最大值“20”。

在本地开发期间,Kōjō看起来挂起了吗?

  • 停止所有本地容器并重新构建它们
  • 运行 ps -auxf 以查看是否还有进程仍在以类似于 neighborhoods-kojo: /server[8]/root[22]/job[30] 的标题运行Kōjō
    • 如果是,则运行 pkill -9 -f kojo 以SIG_KILL包含单词 kojo 的所有进程
  • 运行 docker-compose exec redis redis-cli monitor 以查看Kōjō是否在redis中创建任何活动
    • 如果没有类似 "GET" "/neighborhoods/kojo/area_manager/job_state_changelog_processor.lock" 的消息流过,则表示有其他事情阻止了Kōjō内部的执行。这通常是由于调试器引起的。
  • 关闭调试器。有时这会与Kojo发生冲突
  • 检查您的XDebug版本(版本在 2.7.0 之前将不起作用,并且 2.8.2 已观察到一些异常行为。建议使用 2.9.2
  • 检查调试日志 常见PHP调试问题的故障排除 - 帮助 | PhpStorm