我有一个的红宝石在轨道上应用程序,使用选择.我需要运行的东西喜欢的进口/出口任务,在我们的db锁了整个系统,因为他们是如此的沉重的数据库。是否有一个方式告诉系统只能执行这些任务数据库时不用在这吗?

有帮助吗?

解决方案

没有内在的方式来安排这样的工作.有几件事你可以做到,虽然。

  • 计划的工作运行期间最繁忙的时间为一天。这将取决于自己的业务,客户基础和以上,但希望有一个窗口,是更适合于其他人。

  • 你可以写你批作业运行时间较长,这样做的小单位的工作。每个单元之间的工作,睡了几秒钟,或者看一看目前的平均负荷,并决定该怎么做。这应降低的影响的一批工作。

  • 有网站的更新"锁定"的地方,无论是在数据库或在缓存或东西。如果你正常的网站使用更新的数据库,你可以看看现有的 updated_at.然后只做一批工作的时候,没有任何活动。这并不能保证一个新的用户不在流行在同一时间你批作业运行,但可能是一种方式找到一个窗口,在这里该网站是更少使用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top