-1

我每秒在 APC 中存储大量变量。同时,我有一个 CRON 任务,它连续执行一个 php 进程,从 APC 读取变量,从 APC 中删除它并将其存储在数据库中。php 脚本获取由前缀标识的所有变量。问题是,当 PHP 进程访问 APC、读取所有变量、从 APC 中删除它们并将其插入数据库时​​,另一个进程(也由 CRON 启动)可以读取相同的数据,因为它还没有被删除,我会在我的数据库中复制数据。有什么解决办法吗?也许这是 APC 限制?

提前致谢。

标记

4

1 回答 1

0

首先,出于好奇,我很想知道这个解决方案背后的原因!很感兴趣!

但这是定时作业的常见问题。您更严重的担忧是,如果您的一项 cron 作业需要很长时间才能完成,而另一项开始时,它可能会使您的服务器上的负载加倍,需要两倍的时间才能完成,那么您最终可能会陷入循环关闭您的服务器。这是一个有趣的问题!

我之前已经通过设置一个开关来通知代码之前的作业正在运行,从而解决了这个问题。当您的工作完成后,移除开关,下次您的 cron 将再次运行。你可以把那个开关放在APC上。

于 2013-06-07T09:34:00.863 回答