2013-05-01 11 views
0

Я пытаюсь отправить уведомление по электронной почте некоторым пользователям с помощью задания cron в моем приложении.CakePHP как отправить уведомление по электронной почте

После нескольких часов чтения я понял, что лучший способ сделать это - использовать Shell.

Пожалуйста, помогите мне понять, как это сделать, как я могу использовать разные действия класса myShell для отправки различных уведомлений? Я имею в виду, что как cron доступ к myShell различные действия.

например.

<?php 
    class MyShell extends Shell { 

    function send_task_notifications(){ 
     .... //this must send email every day at 00:00 am 
    } 

    function send_new_post_notifications() { 
     .... //this must send email every week// 
    } 

    } 
?> 

Оба эти действия относятся к классу MyShell.

Так как я могу позвонить одному из них через Cron и этот класс MyShell доступен по URL-адресу?

ответ

1

Ваша оболочка должна быть изменена следующим образом, вам необходимо передать параметры на основе этих параметров, чтобы она выполняла уведомление по электронной почте/push-уведомление. Переместить ваши функции компонента будет работать

<?php 
    class MyShell extends Shell { 

    function main() 
    { 
     $option = !empty($this->args[0]) ? $this->args[0] : ”; 
     echo ‘Cron started without any issue.’; 

     App::import(‘Component’, 'MyOwnComponent'); 
     $this->MyOwnComponent = &new MyOwnComponent(); 
     switch ($option) 
     { 
      case 'task_notifications': 
        $this->MyOwnComponent->send_task_notifications(); 
       break; 
      case 'post_notifications': 
        $this->MyOwnComponent->send_new_post_notifications(); 
       break; 
      default: 
      echo 'No Parameters passed .'; 
     } 

    } 
    } 
?> 

Ваш компонент файл следующим образом

<?php 
class MyOwnComponent extends Object 
{ 
function send_task_notifications(){ 
     .... //this must send email every day at 00:00 am 
    } 

function send_new_post_notifications() { 
     .... //this must send email every week// 
    } 
} 

?> 

Для получения дополнительной информации обратитесь по ссылке http://cakephpsaint.wordpress.com/2013/05/15/6-steps-to-create-cron-jobs-in-cakephp/

Смежные вопросы