Matt Murphy on 28 Mar 2016 14:14:47 -0700


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] Odd script problem


Will try that this evening...

On Mar 28, 2016 4:47 PM, "Andy Wojnarek" <andy.wojnarek@theatsgroup.com> wrote:
Try putting a set -x at the top of your script and redirecting the entire crontab entry to a log file so you can see if it’s executing your php command.

--
Andy

> On Mar 28, 2016, at 2:51 PM, Matt Murphy <mattyhead@gmail.com> wrote:
>
> Thanks, Michael.  That sounds pretty frustrating :)
>
> Here, what happens is cron calls a bash script each minute which simply does :
>
> ---------------------------------
> #!/bin/bash
>
> cd /path/to/script
> date >> log
> php script.php
> ---------------------------------
>
> Actually, I that call is currently something more explicit like:
> php -c /etc/php5/cli/php.ini -d debug_errors -f script.php
>
> And sometimes php doesn't execute at all.
>
> MM
>
> On Mon, Mar 28, 2016 at 12:14 PM, Michael Lazin <microlaser@gmail.com> wrote:
> How are you running the php scripts?  I work at a hosting company and a common problem I see when users run php scripts with cron is they use something like curl which which resolves at the dns level and makes a request back to the same webspace artificially inflating web traffic and creating unecessary server load.  I recommend if you want to run a local php script with cron simply run it locally with the php command.  It makes way less overhead.
>
> On Mon, Mar 28, 2016 at 11:18 AM, Matt Murphy <mattyhead@gmail.com> wrote:
> Greetings!
>
> I'm a long-time linux user and frequent defacto admin.
>
> I have a problem:  a cron job is running that calls a bash script to change the directory and run a php script which, in turn, scrapes an old-and-ugly site which our office owns but does not control (meaning that doing something sensible like serving the data we now scrape via an API is not an option). With the size of the content currently being scraped, the run time is one or 2 seconds.  The cron job runs, at peak, once a minute.
>
> Naturally, I do some logging:  The bash script writes out a timestamp to log when it runs, the PHP script writes 'locked' to a status file and 'working' and a timestamp to log.  Any exceptions are captured and logged out with timestamp when they occur.  End-of run is also logged, with timestamp and, finally, 'unlocked' is written to the status file.
>
> The problem:  I'm showing some instances when the cron job runs and the php job doesn't, at all (no status written, no 'working' log entry).  It's not being caused by collision (recall the scrape runs in under 2 seconds and the cron interval is 1m and there's app-level logging-o-plenty to expose a collision); additionally, I've seen similar at longer increments (2, 5 mins).  PHP error level is set to E_ALL and there is no output that corresponds to the missed runs.
>
> My thinking is that I might be looking at a failure of one scripting environment to hand off to another.
> Has anyone seen something like this?  I'm having trouble finding system log activity that explains what I'm seeing.
>
> Matt Murphy
> Philadelphia Elections Commission
>
> ___________________________________________________________________________
> Philadelphia Linux Users Group         --        http://www.phillylinux.org
> Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
> General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug
>
>
>
>
> --
> Michael Lazin
>
> to gar auto estin noein te kai ennai
>
> ___________________________________________________________________________
> Philadelphia Linux Users Group         --        http://www.phillylinux.org
> Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
> General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug
>
>
> ___________________________________________________________________________
> Philadelphia Linux Users Group         --        http://www.phillylinux.org
> Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
> General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug

___________________________________________________________________________
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug
___________________________________________________________________________
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug