我创建了一个运行良好的php/mysql抓取程序,但不知道如何最有效地将其作为cron作业运行。有300个网站,每个网站有20到200个页面被抓取。抓取所有站点需要4到7个小时(取决于网络延迟和其他因素)。刮板需要每天完整运行一次。我应该将其作为1个cron作业运行,运行整个4-7小时,还是每小时运行一次7次,还是每10分钟运行一次直到完成?脚本设置为像这样从cron运行:while($starttime+600>time()){do_scrape();}这将运行do_scrape()函数,一次抓取10个url,直到(在本例中)600秒过去。do_scrape可能需要5到60秒才能运行
我是cron作业的新手,我已经对这个主题进行了很多搜索,但我无法完全理解它。cron作业可以访问cookie或session变量吗?谢谢! 最佳答案 cron作业将无法访问cookie,因为根据定义它不是从网络浏览器请求中调用的。只有Web浏览器存储一个包含sessionID的cookie。没有网络浏览器,没有cookie,没有session。话虽如此,如果您确实以某种方式知道sessionID,您应该能够通过将ID输入session_id()来手动启动session。在使用session_start()之前。
我有一个执行PHP脚本的cron作业。cron设置为每分钟运行一次,这仅用于测试目的。它正在执行的PHP脚本旨在将用户上传到服务器的视频转换为flash格式(例如....flv)。当通过命令行手动执行脚本时,脚本执行良好,但是当通过cron执行时,它开始正常,但一分钟后它就停止了。似乎在执行下一个cron时它“杀死”了最后一个cron执行。我添加了以下PHP函数:ignore_user_abort(true);希望它不会中止最后一次执行,我测试了将cron设置为每5分钟运行一次,效果很好,但是视频的转换可能需要5分钟以上,所以我需要弄清楚为什么它在另一个cron被执行。如有任何帮助,我
0****我使用crontab。这在cron中多久完成一次? 最佳答案 它将每小时工作一次,正好在x:00。记住crontab的格式是:+----------------minute(0-59)|+-------------hour(0-23)||+----------dayofmonth(1-31)|||+-------month(1-12)||||+----dayofweek(0-6)(Sunday=0or7)|||||*****commandtobeexecuted所以第一个位置的0表示每分钟0、任何小时和一天。
我需要确定PHP文件是通过cron还是代码中的命令行加载的。我该怎么做? 最佳答案 如果您可以控制cron或命令,您是否考虑过传递命令行参数,并使用$_SERVER['argv'][0]读取它?*****/usr/bin/php/path/to/script--cron在脚本中: 关于php-如何确定是否通过cron/命令行加载PHP文件,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questio
一直在拔头发试图找出为什么我的session在30分钟时被终止/杀死/销毁。好吧,看起来基于Debian的系统有一个特殊的cron运行,它忽略所有php.ini和apache配置,并在30分钟时终止任何空闲session。cron路径:/etc/cron.d/php5在cron内部:#/etc/cron.d/php5:crontabfragmentforphp5#ThispurgessessionfilesolderthanX,whereXisdefinedinseconds#asthelargestvalueofsession.gc_maxlifetimefromallyourphp
我想制作一个PHP网络服务器,那么如何使用Curl使这个脚本永远运行? 最佳答案 不要忘记将最大执行时间设置为无限(0)。最好不要运行多个实例,如果这是您的意图:ignore_user_abort(true);//ifcallerclosestheconnection(ifinitiatingwithcURLfromanotherPHP,thisallowsyoutoendthecallingPHPscriptwithoutendingthisone)set_time_limit(0);$hLock=fopen(__FILE__."
我有一些日期,一旦失去它们的相关性,就应该计算数据库中这些字段的新日期,我知道我可以利用AlarmManager类来实现这一点,但是我对此有一些担忧:1)注意:从API19(KITKAT)开始,警报传递是不准确的:操作系统将转移警报,以最大程度地减少唤醒和电池消耗。有一些新的API支持需要严格交付保证的应用程序。请参见setWindow(int,long,long,PendingIntent)和setExact(int,long,PendingIntent)。targetSdkVersion早于API19的应用程序将继续看到以前的行为,在该行为中,所有警报均在被请求时准确地传递。因此,
我需要一些实现建议。我有一个MYSQL数据库,它将被远程写入以供本地处理任务,我需要用PHP编写的应用程序在这些任务进入时立即执行。当然,我的PHP应用程序需要被告知何时运行。我考虑过使用cron作业,但我的应用程序在Windows机器上。其次,我需要每隔几秒检查一次,而cron只能每分钟检查一次。我想过编写一个PHP守护程序,但我对它如何工作以及它是否是个好主意感到困惑!我将不胜感激有关执行此操作的最佳方法的任何建议。 最佳答案 pyCron是Windows的一个很好的CRON替代品:由于这个任务非常简单,我只需将pyCron设置
我正在寻找一种使用PHP设置cron作业的方法。我想要做的就是在特定时间运行PHP脚本。用户首先在脚本中输入时间,服务器根据指定的时间运行脚本。我正在使用Windows7和xampp。我发现的是:创建一个调用cron.php文件的php文件:使用记事本(或其他),将以下内容粘贴到一个新文件中:$data=file(“http://pearl.supplychain.com/cron.php”);您需要将它放在常规的php标签中,并带有“小于号”?php在前面,而?最后“大于符号”。(我似乎不能直接输入,因为它是“可疑内容”,而Drupal不允许)将其另存为executecron.p