间歇性 CFC 未找到 - Coldfusion 2021 标准

Intermittent CFC not found - Coldfusion 2021 Standard

我们有一个非常奇怪的问题。我们有一个最初用 CF9 编写的大型 CF 应用程序,升级到 CF2016,然后升级到 CF2021。有一个开票工作每天作为计划任务运行。此发票作业执行多个步骤(创建、检查和支付)发票。在此过程中使用了许多组件(功能)。我们于 2021 年 11 月下旬开始使用这台新服务器,自从我们这样做以来,到目前为止,开票工作已经出现了大约 4 到 5 次问题。

我看到的错误通常类似于:

找不到 ColdFusion 组件或接口 components/distributor.distribcontroller

我说通常,因为即使是“丢失”的组件也会发生变化,而且每次都不一样。

我已经检查了每个组件是否有错误,所以不应该是这样,大多数时候这个发票作业运行良好。

CF2021 在 Ubuntu 20.04 LTS,4 CPU.4GB 内存上 运行。除了这个发票工作,应用程序很好(用户从未遇到过缺少组件)

我也不使用映射,我有一个自定义机制,我在 cfm 文件中设置补偿路径并使用“请求”结构,例如:<cfset request.components.distributor = 'components/distributor'> 在包含在 Application.cfc - 它可能不理想,但它只是几年前建造的,需要太多工作才能改变它。 (我认为)。

有什么想法吗?任何帮助将不胜感激。

I have a custom mechanism

感觉像个危险信号。特别是因为它使用 request 结构。

您要处理多少 CFC?是否值得查看 WireBox 来处理 CFC 配置和创建?对于当前的问题可能有点矫枉过正,但值得研究。

https://wirebox.ortusbooks.com/

你是caching component paths吗?取消选中组件缓存可能会解决此问题。

您可能 post 在 CFML Slack 工作区上解决这个问题。一些 Adob​​e CF 工程师在那里闲逛。