We're Moving to a New Support Platform – Starting June 1st!

We’re excited to let you know that starting June 1st, we’ll be transitioning to a new support system that will be available directly on our product websites – Amelia, wpDataTables, and Report Builder. In fact, the new support platform is already live for Amelia and wpDataTables, and we encourage you to reach out to us there.

You'll always be able to reach us through a widget in the bottom right corner of each website, where you can ask questions, report issues, or simply get assistance.

While we still do not offer live support, a new advanced, AI-powered assistant, trained on our documentation, use cases, and real conversations with our team, is there to help with basic to intermediate questions in no time.

We're doing our best to make this transition smooth and hassle-free. After June 1st, this current support website will redirect you to the new "Contact Us" pages on our product sites.

Thanks for your continued support and trust – we’re excited to bring you an even better support experience!

Okay
  Public Ticket #2555143
Amelia cron job notifications
Closed

Comments

  •  3
    David started the conversation

    I have had some difficulty getting cron to run Amelia send notifications.

    I followed the suggestions of setting up the system cron and when that did not work I tried WP Crontrol and added the suggested code to “Add PHP Cron Event”, this was also unsuccessful.

    I found that file_get_contents("https://yourwebsite.com/wp-admin/admin-ajax.php?action=wpamelia_api&call=/notifications/scheduled/send") always returned false. Even though I could paste the address into the browser and it would work fine and the reminder messages would be sent out.

    Using curl instead of file_get_contents does work on my site, but only if I add the option CURLOPT_USERAGENT, "Firefox 32.0". Scheduled notifications are now working.

    Is there a more direct way to call Amelia to send the notifications, than using a url where I have to pretend that the request is coming from a browser?

  • [deleted] replied

    Hi David,

    Thank you for your message.

    It depends of your server you will need to have separate settings on your hosting provide (cPanel for settings this up)

    Scheduled notifications require a bit of additional configuration with your server cron scheduler. The command that has to be added can be found on the “Notifications” page when notification that requires scheduling is active. You can recognize these notifications by the clock icon next to the notification name. Copy command and paste it in the cron file. The command looks like this:

    */15 * * * * https://yourwebsite.com/wp-admin/admin-ajax.php?action=wpamelia_api&call=/notifications/scheduled/send

    You can see the more detailed tutorial how to set up cron at this link.

    If you are not familiar with this you can use plugin WP Crontrol for creating cronjob.

    In the Tools -> Cron Events admin panel, 

    5870820090.png

    click on the “Add PHP Cron Event” tab underneath the cron event table. 

    2764191073.png

    In the form that appears, enter the schedule and next run time in the boxes. The event schedule is how often your event will be executed. In the “PHP code” area, enter the PHP code that should be run when your cron event is executed. Please insert this:

    file_get_contents("https://yourwebsite.com/wp-admin/admin-ajax.php?action=wpamelia_api&call=/notifications/scheduled/send");

    You don’t need to provide the PHP opening tag (<?php).

    6717743478.png

    Please replace "https://yourwebsite.com" with your real web address.

    If you don’t see a good interval, then add one in the Settings -> Cron Schedules admin panel or click on link "Manage Cron Schedules". You will find example how you can make custom interval inserting:

    • Interval name
    • Interval(in seconds)
    • Display name
    6861925456.png

    and click "Add Cron Schedules" and it will be added.

    6847038953.png

    When you made custom interval you need to go back to  Tools -> Cron Events admin panel and click on the “Add PHP Cron Event” tab underneath the cron event table where you will insert that custom interval and all other field that are described above. After clicking on "Add PHP Cron Event" it will be added on Event table and you are done.

    8850513929.png

    If you have any confusion about this feel free to ask us, and we will help you.

    Best regards.

  •  3
    David replied

    Hi Den

    You did not actually answer my question, instead you just listed what can be found elsewhere on your website that I said I have already tried.

    First of all, I don't know why you suggest putting */15 * * * * https://yourwebsite.com/wp-admin/admin-ajax.php?action=wpamelia_api&call=/notifications/scheduled/send in the system cron, when cron can't call a url. You will most likely need to use wget or curl to call the url in cron.

    I also said I could not get file_get_contents() to work. This is specific to my site, but is not entirely uncommon from what I have read.

    What did work was using the following replacement for file_get_contents(). I found this at https://stackoverflow.com/questions/25827167/file-get-contents-returns-false

    function file_get_contents_curl($url) {
        $ch = curl_init();
        $timeout = 5;
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
        curl_setopt($ch, CURLOPT_USERAGENT, "Firefox 32.0");
        $data = curl_exec($ch);
        curl_close($ch);
        return $data;
    }
    The important part in my case was the line

    curl_setopt($ch, CURLOPT_USERAGENT, "Firefox 32.0");

    So apparently my site requires the call to at least pretend to come from a browser.

    My question was, Is there a more direct way to call Amelia to send the notifications, than using a url where I have to pretend that the request is coming from a browser?

  • [deleted] replied

    Hi David,

    I will clarify your question with the tech team, will get back to you on that later this week.