Как я могу написать работу cron с помощью задачи Symfony - PullRequest
1 голос
/ 05 октября 2011

Я нахожусь в процессе создания процесса автоматизации для моего приложения Symfony, которое написано как плагин в Symfony. В этом плагине мне нужно добавить cron job.now, я добавляю его вручную. Могу ли я открыть вкладку cron из Symfony и записать что-нибудь на вкладку cron ??? если так я просто запускаю задачу и добавляю задание cron из cli. любые предложения, чтобы сделать это.

1 Ответ

0 голосов
/ 05 октября 2011

Я предполагаю, что вы знаете, как это сделать из командной строки. Из задачи Symfony вы вызываете системную команду, используя функцию passthru () из стандарта PHP.

Следующие 2 функции в PHP могут помочь.

function mysystem($cmd)
{
  passthru($cmd, $val);
  if ($val != 0)
  {
    mydie("Command $cmd exited with nonzero exit status $val\n");
  }
}

// PHP's die() exits with a happy status, which is useless in scripts
function mydie($s)
{
  fwrite(STDERR, $s);
  exit(1);
}

Из скрипта вы бы сделали что-то похожее на следующее.

  • crontab -l | grep -v "работа, которую вы добавляете"> oldcrontab # remove любые дубликаты работ
  • echo "добавляемая работа cron" >> oldcrontab # добавить новую работу
  • crontab oldcrontab # перезагрузить crontab

Просто используйте ту же стратегию, но из PHP, используя вышеуказанные функции. Это должно сработать.

...