English 中文(简体)
每隔5分钟用手套,避免种族状况
原标题:Running a PHP script every 5 minutes and avoiding race conditions
  • 时间:2010-08-25 23:52:48
  •  标签:
  • php
  • cron

我有一张需要每5分钟操作一次的网址。 目前,我从事“跳板”工作,但我的东道国只允许至少15分钟。

因此,我的问题是,我能够利用访客,每5分钟就开始使用一个网址。 我可以轻易地记录它过去的时间,并根据过去的时间重新加以管理。

然而,我担心种族状况。 重要的是,这本书仅每5分钟有once

我的发言稿大约需要60秒。 在此期间,它写给夫妇档案。 如果该书的封面不止一次会腐败档案。 而且,如果我没有近亲10分钟,那么当下台人到场时,他就会一劳永逸。

是否有某种标准方法完成这项任务?

感谢!

最佳回答
问题回答

la折情况答案(ISP,而不是海报)。 表格12 打字工作,所有打字,每张工作每小时一次,但打着不同的5分钟。

00 * * * * root echo "run at :00 of every hour"
05 * * * * root echo "run at :05 of every hour"
10 * * * * root echo "run at :10 of every hour"

等到:55。 但我赞同我的原始评论——找到一个新的ISP:

如果你不能做“Brandon”所建议的那样的话,我建议以我在撰写“PHP”中的“mon魔”时的同样方式这样做(不是最佳解决办法,但我实际上被迫这样做)。

在我的案件中,该书还查阅了(博客)档案,并做了处理,随后在数据库中插入结果。 因此,为了确保我不会同时拥有两个档案,我创建了一个“状态”档案,该书上有一锁,如果失败,则无法这样做。

$fh = fopen( status_file ,  w );

/**
 * LOCK_NB is required because otherwise your script would stall until
 * a lock is aquired, queing a bunch of scripts.
 */
if(!flock($fh, LOCK_EX | LOCK_NB)) {
  exit 1; // our job is done here
}

访客能否开始这一说法的答案是肯定的。 当来访者进入一页时,你可以操作文字。 你们想要储存起步时间,但也是为了说明它是否运行。 这应避免在试图更新你的数据时发生冲突的可能性。 我也增加了一个邮件警告领域,如果时间过长,你可以使用。 届时,你可以寄送一封警告电子邮件,说你的文字已经超出时间。 我亲自将这些状况保存在数据库中,但也可储存在档案中。





相关问题
Brute-force/DoS prevention in PHP [closed]

I am trying to write a script to prevent brute-force login attempts in a website I m building. The logic goes something like this: User sends login information. Check if username and password is ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

定值美元

如何确认来自正确来源的数字。

Generating a drop down list of timezones with PHP

Most sites need some way to show the dates on the site in the users preferred timezone. Below are two lists that I found and then one method using the built in PHP DateTime class in PHP 5. I need ...

Text as watermarking in PHP

I want to create text as a watermark for an image. the water mark should have the following properties front: Impact color: white opacity: 31% Font style: regular, bold Bevel and Emboss size: 30 ...

How does php cast boolean variables?

How does php cast boolean variables? I was trying to save a boolean value to an array: $result["Users"]["is_login"] = true; but when I use debug the is_login value is blank. and when I do ...

热门标签