galliMassmail plugin cron job help

If you have experience with the galliMassmail plugin I'd appreciate some help.

To create the 5 minute cron job, in my Direct Admin control panel I set the frequency to

5****

and the command to

home/myaccount/domains/mydomain/public_html/elgg/mod/galliMassmail/

I also tried it without the trailing slash. I asked for help from the plugin author re path to plugin, but get the impression they only occasionally reply in the case of their free plugins. Would appreciate hearing from anyone with experience of this plugin or otherwise as I really need to get my newsletter out.

myser

  • wrong command

    You need to load: [site_url]/cron/fiveminute

  • So are you saying not to enter 5**** in the selection box in Direct Admin ?

    Also would the command

    home/myaccount/domains/mydomain/public_html/elgg/cron/fiveminute

    not trigger the logrotate and garbagecollector plugins as you are not specifying it's for galliMassmail ?

  • I tried all kinds of variations in Direct Admin, including with and without the 5**** (in order not to duplicate your cron/fiveminute code.

    As I have to get my newsletter out will use a standalone application. Fortunately I have under 200 users so far so transferring the email addresses as can use mainly the csv file from my old site.

    I really feel now that Elgg should emphasise that those with only moderate webmaster skills should avoid it, I have run two forum sites previously using Yabb and didn't have half the problems - mainly I think because of lack of documentation.

  • http://docs.elgg.org/wiki/Cron (info has been written for Elgg 1.7. For Elgg 1.7 the "pg" is no longer part of the urls)

    The command is either "get" or more likely "wget" and then follows a url (not a filepath) to the corresponding trigger page. A full line of a cronjob definition could be for example:

    */5 * * * * <username> /usr/bin/wget --spider --output-document=/dev/null http://site.url/cron/fiveminute/ >/dev/null 2>&1

    In the documentation/examples folder in the Elgg package is also an example crontab file for all cronjobs. The <username> is only necessary in the server-wide crontab file while you would ommit it for a user's crontab in the home directory. If you define the cronjob with a admin tool you might also not need to provide the username. The location of wget (or get) might be different on your server, so you might need to modify the path accordingly.

    For Elgg's cron mechanism you need to keep in mind that the cronjobs only trigger possible defined jobs. Each plugin can hook into any of the available cron intervalls via a plugin hook. It's best to define all cronjobs for Elgg. The logrotate / garbage collector would by default execute once per month but you can change the intervall in the plugin settings. But they surely will not run every 5 minutes. You can also install the croncheck plugin on your site to see which jobs will run on which cron intervall and when they have been executed last. This is especially usefull when you set up a new site and install a plugin that requires some cronjob to be available.

  • I updated that page to remove the 'pg' and add in minute/fiveminute cron

  • Many thanks Matt for your help and iionly for the detailed tutorial. I will study it carefully eventually as I must face this problem again to have logrotate and garbagecollector do their work. For now I'll use a standalone mass mailer.

    I think my problem may be that the Direct Admin control panel seems to require a php script to trigger - all their examples seem to point to that. I will also try consulting my hosting company support.

  • I must face this problem again to have logrotate and garbagecollector do their work

    This means you still do not understand.  You only need to set up a single cron call for each interval.  This is not a per-task cron.  Those plugins will run themselves once cron is properly configured.  You only need to do this once for your entire site.

  • Yes Matt, I do now understand that the plugins look for the particular cron they are set up to be triggered by. It's just a question of setting the command correctly for the Direct Admin control panel at my particular hosting company. So best thing for me now is to contact them.

    I tried iionly's examples plus several others. As I said before, all command examples in the Direct Admin knowledge base, on their tutorials and on various online forums point to php scripts (at the end of the command line). Don't know why they would not give sitewide examples as is needed in our case.

    Thanks' again for your patience with a novice to cron jobs.

     

  • In the above example

    /usr/bin/wget --spider --output-document=/dev/null http://site.url/cron/fiveminute/ >/dev/null 2>&1

    is the command (+ some parameters for this command). The "wget" would be the command including the path to it on the server (/usr/bin). It doesn't matter if the examples you have available call a php script. The crontab syntax would be the same. Only you would replace the php script part with the whole command line including the parameters.