2010-08-17 91 views
2

也许这是一个愚蠢的问题,但我没有找到答案。我使用网络托管startlogic.com。我问员工关于cron。他们告诉我,他们在控制面板中只有一个名为“计划任务”的功能,我可以在其中手动完成任务。 但我需要从我的网络应用程序做到这一点。例如,当我按下按钮时,我会在1个月后收到电子邮件通知。 如何使用php实现这个? 我的网络托管服务提供商能做到这一点还是我需要提前更换供应商(如果有的话,你会怎么推荐?)如何在代码中实现cron(php)?

感谢。

回答

8
  1. 制作一个名为cron.php的PHP脚本(如果可能的话,在web根目录之外)。

  2. 选择该设置下的“计划作业”

  3. 每次cron.php运行规律运行,它会检查作业的数据库,以查看是否有任何到期呢。

  4. 如果有任何到期,它们将运行。

  5. 一旦运行,它们被标记为这样。

  6. 要将新作业添加到列表中,只需将新行添加到数据库中,并附上作业的详细信息和截止日期。

+0

+1无论如何自动调度“物理”cron作业的可行性,OP都应该与该方案一起使用。您不希望有数千个计划一次性执行的作业可能会被服务器重新安装/移动/崩溃消除。 – deceze 2010-08-17 08:58:15

+0

谢谢。如何在数据库中创建作业?任何样品或链接 – dsplatonov 2010-08-17 09:02:03

+0

耶稣。下面是显示如何在数据库中创建作业的链接:http://www.w3schools.com/php/ – Skilldrick 2010-08-17 09:05:32

2

你可以有一个PHP脚本,每小时运行一次。在这个脚本中,你可以实现你自己的类似cron的功能,比如说读取一个cronjobs数据库并执行它们。

+0

请问你能否提供一个代码示例。 – dsplatonov 2010-08-17 08:41:18

+3

自己解决,或者提出另一个问题。 SO不是让别人写你的代码的地方。 – Skilldrick 2010-08-17 08:44:41

0

如果您不关心确切的时间,可以检查每个页面负载(或每第一个小时)您的数据库,如果有需要执行的作业。

这种方式cron不会在一个月后执行完毕,而是在一个月后下一页加载,很可能很快就会发生。

+0

OP可以访问cron功能(计划任务) - 他只是不知道如何使用它来发送电子邮件通知。 – Skilldrick 2010-08-17 08:51:21