【问题标题】:How should i run a long php script on weekly basis [duplicate]我应该如何每周运行一个长的php脚本[重复]
【发布时间】:2018-04-12 10:34:10
【问题描述】:

我有一个很长的 PHP 脚本(用于抓取),执行大约需要 2 小时,我想每周运行一次,我在 Cpanel 中有 cron 作业选项,我知道如何使用它,但我认为对那么长的脚本没用

我阅读了一些关于长 PHP 脚本的其他答案,他们说长 PHP 脚本应该通过 shell 执行。我读了这个博客http://symcbean.blogspot.com/2010/02/php-and-long-running-processes.html 但我什么都不懂,

我从未使用过 shell,但我可以花时间学习它,但是否可以通过 shell 运行脚本,也可以每周同时自动运行

【问题讨论】:

  • 对我来说,这里的最佳实践是通过 CLI 运行您的 php 脚本。从命令行或从 shell 脚本、cron 作业等执行的 PHP 脚本没有超时。对于 CLI 调用的脚本,即使您使用 set_time_limit() 函数动态设置 PHP 脚本的超时,它也有没有效果。
  • @ShahrozeNawaz 我正在尝试使用 cron 作业来执行此操作,我不熟悉 CLI,这是更好的方法吗?

标签: php shell


【解决方案1】:

当您运行 cron 作业时,它基本上会运行您选择的 shell 命令。 该shell命令可以是php <your_script_name_here>.php 无论如何,我认为 cron 工作是要走的路(Windows 机器上的计划任务)。

【讨论】:

  • 谢谢,所以,我是否应该在 cpanel 中使用 cron 作业选项,请您详细解释一下,我非常感谢任何帮助,我已经浪费了很多时间,但没有任何帮助
  • 谢谢,我会试试cron作业。
【解决方案2】:

如果你有一个用于报废的脚本,我建议你使用 HHVM 而不是 php-fpm,你会获得很多性能。

在第二部分中,您可能需要一个工作人员或一个作业队列系统来通过 cronjob 运行您的脚本。

如果您在数据库中插入数据,请不要逐行插入,而是创建一个包含所有数据的数组,然后一次性插入所有数据。 (你可以做很多事情来获得最佳性能)

【讨论】:

    猜你喜欢
    • 2011-06-02
    • 2012-02-09
    • 2012-08-26
    • 2011-02-26
    • 2012-10-30
    • 2021-01-16
    • 2011-07-15
    • 2017-01-06
    • 1970-01-01
    相关资源
    最近更新 更多