ConsoliBYTE QuickBooks PHP DevKit:两个队列,相同的DSN,自动运行冲突

时间:2018-07-30 16:48:26

标签: php quickbooks

在我开始更改代码之前,这是我们的QWC Application条目的作用...

    通过enqueueHOOK_LOGINSUCCESSQUICKBOOKS_ADD_CUSTOMERQUICKBOOKS_ADD_INVOICE
  1. QUICKBOOKS_ADD_RECEIVEPAYMENT个在线订单(ID order_number
  2. 通过enqueue在不同HOOK_LOGINSUCCESS上的
  3. QUICKBOOKS_ADD_SALESORDER CSV数据(ID 文件名

两个队列都使用相同的dsn,并且在手动或单独自动运行时都可以正常工作。当两个任务自动运行并最终在同一分钟内执行(不可避免)时,#1的功能映射就会与#2的功能混为一谈。

我们在#2期间抛出错误没有注册的操作功能:CustomerAdd ,但ID来自#1时发现了此问题。因此看起来#2建立了连接,但是#1在“同一分钟”冲突期间发送了请求/响应。

我们现在已将两个任务安排为以不同的每个_分钟间隔(24和25)进行自动运行,因此冲突的发生频率降低了,但是却没有冲突完全没有。

我认为deny_concurrent_logins(和/或deny_reallyfast_logins)处理程序选项应避免同时运行,但希望在对可能繁忙的在线商店进行“也许”更改之前先确定它们。

注意:我知道我们可以通过为每个任务使用不同的dsn来避免这种情况,但是无法想象这是必要的。

0 个答案:

没有答案