What exactly does cron job do for authorize net?

Discussion in 'Installation' started by fivehole, Jun 26, 2008.

  1. fivehole

    fivehole New Member

    Joined:
    Jun 11, 2008
    Messages:
    6
    I hate to be picky but Amembers following explanation of a cron job is kinda weak lol:

    "The cron job is a sheduled task on the hosting server. You may choose to run specific program in specific time, periodically. In case of aMember Pro, we have to call aMember Pro page (yes, just regular page: http://yoursite.com/amember/cron.php) with browser. However, your hosting is using Linux/Unix, so there are no usual browsers like IE or Netscape.

    We will use command-line text mode browser, named Lynx. You may run it on Unix with the following command: /usr/bin/lynx -source

    Line /usr/bin/lynx -source http://yoursite.com/amember/cron.php will access specified URL and display HTML source of page. In our case, we don't need any output, we just need our page to be accessed, so we will ignore output. "

    Great...it's a scheduled task...FOR WHAT??? lol Anyway, I've tried all 6 commands they give as examples and all fail. Getting no such user name or directory. So why does Authorize AIM plugin need this? Thanks.
  2. skippybosco

    skippybosco CGI-Central Partner Staff Member

    Joined:
    Aug 22, 2006
    Messages:
    2,526
    I use php -f to execute mine followed by the full path to my cron file:

    Code:
    php -f /home/username/public_html/domainname/amember/cron.php
  3. jimjwright

    jimjwright New Member

    Joined:
    Sep 12, 2007
    Messages:
    162
    Hello,

    The scheduled cron job allows amember to do the following on a daily basis:


    1. Rebill recurring memberships that have expired.
    2. Mail not completed members after so many days.
    3. Do email auto-responders.
    4. cleanup new_rewrite files if using that protection mechanism.

    But most importantly for your question is to do rebills if you have recurring subscriptions through Authorize.NET.

    Most of the tools require you to give full path so make sure you are specifying the correct path prefix to where your root web server location is. In skippy's example above its /home/username where username would be the username the hosting provider provided for you.

    Jimmy
  4. fivehole

    fivehole New Member

    Joined:
    Jun 11, 2008
    Messages:
    6
    Thanks to both of you. After bangin' heads with the host provider, someone finally suggested using the 'php' command (as you did Skippy) instead of 'wget' or the others listed in the install guide. I don't know if it works just yet but sounds like I'm getting closer. At least I know why I need to setup it up now ;) Cheers.
  5. skippybosco

    skippybosco CGI-Central Partner Staff Member

    Joined:
    Aug 22, 2006
    Messages:
    2,526
    I had problems with wget and php was my salvation :)

    Best of Luck! Let us know if it works for you.
  6. fivehole

    fivehole New Member

    Joined:
    Jun 11, 2008
    Messages:
    6
    Geeez, these commands must vary widely among different hosts...the end command that appears to be what I need is as follows:

    /hsphere/shared/php5/bin/php

    /hsphere/local/home/fivehole/xxxxxxxxxxxxx.com/members/cron.php

    Most probably already know this but if you're setting this up for the first time, you can at least eliminate half the problem and get the destination of the command right from the start by simply logging into amember control panel and right there you will see the path you need to use next to 'root folder'. Thanks again!

    So if this runs correctly this time I shouldn't receive any emails???
  7. jimjwright

    jimjwright New Member

    Joined:
    Sep 12, 2007
    Messages:
    162
    Yes

    You can set your cron job to run faster and add the following parameters to your cron job

    /hsphere/local/home/fivehole/xxxxxxxxxxxxx.com/members/cron.php?ok=1

    Then if cron successfully calls cron.php the cron.php will log the following to the error/debug log.

    cron.php started
    cron.php finished

    Once you get cron to successfully call cron.php then go back and set cron to run once a day or whatever is required for your payment processor. I believe the only payment processor that requires more that once a day is CCBILL (I know I use them I set it for every other hour) but I don't know if others require this. I'm pretty sure Authorize.NET only requires once a day.

    Jimmy
  8. fivehole

    fivehole New Member

    Joined:
    Jun 11, 2008
    Messages:
    6
    Thanks Jim, appreciate the tip...I didn't know I was supposed to change the frequency either so that's good to know :)
  9. jimjwright

    jimjwright New Member

    Joined:
    Sep 12, 2007
    Messages:
    162
    Hello,

    Once you get cron working in calling amember's cron.php you should only need to have the cron job fire once a day unless your using CCBILL then it should probably be every other hour. I'm using other cron jobs that are backing up my databases and filesystem and FTP'ing them to an external site for backup reduncy.

    What I meant to say in my previous post is that you don't have to wait for some set time to expire to verify that the cron job you setup is correctly invoking cron.php. That while debugging you can force the cron job to say every 15 minutes until you find the right external command that will successfully invoke aMember's cron.php. Just remember to change it back to once a day once you find a solution or remove the cron job if you cannot find a solution that works and look for another web hosting company.

    Jimmy

Share This Page