prooph / link-app-core
Prooph LINK模块,为prooph LINK应用程序提供默认功能
Requires
- php: >=5.5
- beberlei/assert: ~2.0
- codeliner/array-reader: ~1.1
- doctrine/doctrine-orm-module: ~0.8.0
- mathiasverraes/classfunctions: ~1.0
- phly/mustache: ~1.2
- prooph/event-store-doctrine-adapter: ~1.0
- prooph/processing: ~0.4
- prooph/proophessor: ~0.3
- rwoverdijk/assetmanager: ~1.4
- zendframework/zendframework: ~2.3
- zfcampus/zf-api-problem: ~1.0
- zfcampus/zf-content-negotiation: ~1.0
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is auto-updated.
Last update: 2024-09-17 01:11:39 UTC
README
prooph LINK的应用程序核心(点击访问)
系统配置
该模块的主要目的是提供一个API来创建和维护处理配置。该API是基于命令的,意味着其他模块可以使用可用的命令来添加或修改应用程序处理配置的不同部分。每次更改都会记录一个相关的事件,因此模块可以响应配置更改并相应地执行。
系统设置
系统设置也由该模块处理。在启动prooph LINK的新安装时,仪表板将只包含app-core小部件。通过这个小部件,用户可以启动安装程序,该程序在<link root>/config/autoload
中创建一个新的processing.local.php
配置文件。默认情况下,该文件由GIT忽略,因为它只包含当前安装有效的动态配置。然而,当你想要为你的项目开发一个定制的prooph LINK版本时,通常你想要跟踪所有更改。在这种情况下,你应该调整config目录中的.gitignore文件。设置程序还配置默认应用程序和事件存储数据库。它是一个位于<link root>/data/sqlite
的SQLite文件系统数据库。默认情况下,应用程序和事件存储共享同一个数据库。然而,这可以通过配置手动更改。事件存储管理prooph/processing使用的流程流。它包含所有处理事件,如开始和完成的流程等。应用程序数据库由prooph LINK模块用于存储附加信息,如消息日志,这是监控应用程序所必需的。
计时器
除了配置管理之外,app-core模块还提供了一种计时机制。可以从外部触发TickOccurred事件,然后通过应用程序事件总线发布。例如,消息分配器可以监听此类TickOccurred事件,并从工作队列中拉取待处理的消息。
JavaScript计时器
触发TickOccurred事件的可能方法之一是激活应用核心模块附带的JavaScript计时器。您可以在仪表盘访问的系统配置
菜单中激活计时器。JavaScript计时器实现为一个Web Worker。它在每次页面加载时开始工作,并根据您的设置,每x秒发送一个tick请求。Web Worker的优点是,您可以在浏览器中切换到另一个标签,而Worker会继续其任务。只要您不关闭应用程序,计时器就会继续工作。在激活计时器后,您会在页眉导航栏中认出一个新项目。在发送tick请求期间,图标颜色会变为蓝色。当您等待一个进程完成时,可以查看该图标。每次发送tick时,都应该执行进程的下一步。如果出现错误,计时器将通过通知通知您。在这种情况下,您还应该查看进程监控。
工作流程处理器消息队列
可以为所有由工作流程处理器发送的消息激活一个通用消息队列。有关处理器详情,请参阅prooph/processing文档。启用消息队列的优势在于,您可以在不针对每个进程设置的情况下,利用异步工作流程处理。缺点是您必须确保系统能够处理每条消息的数据量,因此您必须分块处理大型数据集,这使得您的进程变慢,但也更安全,因为您不会遇到执行时间或内存限制。如果您想充分利用prooph/processing的功能,建议不要启用通用消息队列,而是为每个进程单独设置异步消息处理。这如何在process-manager模块的文档中描述。
支持
- 在prooph-users谷歌组中提出任何问题。
- 在https://github.com/prooph/link-app-core/issues上提交问题。
贡献
您想要帮助我们吗?太好了!我们感激任何帮助,无论是实现层面,UI改进,测试,捐赠,还是简单地尝试系统并提供反馈。只需在上述链接的我们的谷歌组中给我们留言,我们就可以进一步讨论。
谢谢,您的prooph团队