邻里 / kojo
邻里Kōjō是一个分布式任务管理器。
5.5.0
2021-11-09 18:46 UTC
Requires
- php: ^7.2|^8.0
- ext-pcntl: *
- doctrine/dbal: ^2.7
- dragonmantank/cron-expression: ^2.0
- monolog/monolog: ^1.24.0
- symfony/cache: 4.4.*
- symfony/config: 4.4.*
- symfony/console: 4.4.*
- symfony/dependency-injection: 4.4.*
- symfony/expression-language: 4.4.*
- symfony/filesystem: 4.4.*
- symfony/finder: 4.4.*
- symfony/yaml: 4.4.*
Requires (Dev)
- phpunit/dbunit: ^4.0
- phpunit/phpunit: ^7.0
- 6.x-dev
- 5.x-dev
- 5.5.0
- 5.4.1
- 5.4.0
- 5.3.0
- 5.2.0
- 5.1.1
- 5.1.0
- 5.0.0
- 4.x-dev
- 4.18.0
- 4.17.1
- 4.17.0
- 4.16.0
- 4.15.0
- 4.14.2
- 4.14.1
- 4.14.0
- 4.13.2
- 4.13.1
- 4.13.0
- 4.12.0
- 4.11.1
- 4.11.0
- 4.10.1
- 4.10.0
- 4.9.0
- 4.8.3
- 4.8.2
- 4.8.1
- 4.8.0
- 4.7.0
- 4.6.0
- 4.5.0
- 4.4.0
- 4.3.2
- 4.3.1
- 4.3.0
- 4.2.0
- 4.1.0
- 4.0.0
- 3.x-dev
- 3.3.3
- 3.3.2
- 3.3.1
- 3.3.0
- 3.2.0
- 3.1.0
- 3.0.1
- 3.0.0
- 2.x-dev
- 2.0.0
- 1.x-dev
- 1.0.2
- 1.0.1
- 1.0.0
- dev-KOJO-242-process-group-awareness
- dev-KOJO-243-orphaned-process-detection-logic
- dev-KOJO-244-detect-userspace-open-pdo-transactions
- dev-KOJO-237-fix-php8-release
- dev-KOJO-235-php8-release
- dev-KOJO-201-api-aware-interfaces
- dev-KOJO-224-configurable-disable-job-type-logging-5x
- dev-KOJO-224-configurable-disabled-job-type-logging
- dev-feature/KOJO-210
- dev-KOJO-217-usage-patterns-guide
- dev-KOJO-203-naively-truncate-log-messages
- dev-KOJO-185-expose-user-defined-resource-mutexing-api
- dev-naively-truncate-log-messages
- dev-hotfix-stop-spawning-jsclp-process-4
- dev-hotfix-stop-spawning-jsclp-process-5
- dev-master
- dev-hotfix-stop-spawning-jsclp-process
- dev-feature/KOJO-196
- dev-KOJO-150-emit-messages-for-job-state-changes
- dev-KOJO-153-write-to-job-state-changelog
- dev-KOJO-192-add-flag-for-job-state-change-logging
- dev-feature/KOJO-191
- dev-KOJO-173-auto-migration-logic
- dev-feature/KOJO-186
- dev-KOJO-185-expose-mutexing-api-to-userspace
- dev-KOJO-188-guard-against-pdo-with-non-exception-errmode
- dev-update-readme
- dev-feature/KOJO-179-mucha
- dev-feature/KOJO-179-master-master
- dev-feature/KOJO-179-master
- dev-feature/KOJO-179
- dev-KOJO-182-audit-dependencies
- dev-KOJO-178-guard-against-full-process-pool-when-polling-singletons
- dev-KOJO-180-clean-up-root-process-pool-after-jsclp-exit
- dev-KOJO-167-169-175-update-outdated-symfony-component-dependencies
- dev-feature/KOJO-166-5.x
- dev-feature/KOJO-166
- dev-KOJO-96-no-more-exception-crash-looping
- dev-feature/KOJO-162
- dev-feature/KOJO-157
- dev-KOJO-154-include-metadata-in-job-state-change-model
- dev-KOJO-149-state-transition-change-migration
- dev-feature/KOJO-136
- dev-KOJO-151-state-transition-change-model-code
- dev-KOJO-143-state-transition-logger-process-framework
- dev-feature/KOJO-137
- dev-feature/KOJO-148
- dev-hotfix-watchdog-to-use-one-named-connection
- dev-KOJO-79-more-robust-redis-message-processing
- dev-KOJO-127-state-transition-logger-design
- dev-feature/KOJO-112-api
- dev-client-defined-signal-delivery
- dev-update-codeowners
- dev-feature/memory-defensiveness
- dev-feature/KOJO-99
- dev-KOJO-82-add-error-get-last-to-shutdown-event
- dev-define-database-port
- dev-KOJO-73-gracefully-handle-disabled-statically-scheduled-job-types
- dev-KOJO-85-explicitly-use-utc-for-cron
- dev-KOJO-86-improve-job-type-registrar-to-register-multiple-job-types-in-one-runtime
- dev-KOJO-79-fix-non-json-messages
- dev-dod/improve-event-visibility
- dev-fix-reschedule-jobs-collection-load-race-condition
- dev-remove-remaining-kojospace-notices
- dev-fix-db-setup-teardown-commands
- dev-feature/notification-api
- dev-KOJO-42-handle-doctrine-unsupported-type-error
- dev-feature/KOJO-30
- dev-KOJO-65-expose-new-relic-api-in-userspace
- dev-KOJO-60-remove-pylon-exception-dependency
- dev-KOJO-59-expose-number-times-retried
- dev-KOJO-42-handle-doctrine-unsupported-type-error-during-installation
- dev-KOJO-57-store-date-time-from-worker-retry-request
- dev-KOJO-21-cleaning-up-composer-json
- dev-KOJO-49-expose-job-id-in-userspace
- dev-feature/KOJO-36
- dev-feature/KOJO-28
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