手动调用cron任务Symfony 1.4
我在myProject/lib/task下放置了一个cron任务。这个cron每天工作一年多 但是,现在我必须在项目中创建一个按钮,以便在客户机需要时执行与cron相同的过程。代码太复杂了,我无法在正常操作中重写所有内容手动调用cron任务Symfony 1.4,cron,symfony-1.4,Cron,Symfony 1.4,我在myProject/lib/task下放置了一个cron任务。这个cron每天工作一年多 但是,现在我必须在项目中创建一个按钮,以便在客户机需要时执行与cron相同的过程。代码太复杂了,我无法在正常操作中重写所有内容 有没有一种方法可以从普通操作调用cron任务?下面是如何从操作调用任务的方法,您只需添加一个链接即可。我在示例中使用了标准Symfony“清除缓存”任务,但您可以将其更改为您的: public function executeRunTaskTest(sfWebRequest $
有没有一种方法可以从普通操作调用cron任务?下面是如何从操作调用任务的方法,您只需添加一个链接即可。我在示例中使用了标准Symfony“清除缓存”任务,但您可以将其更改为您的:
public function executeRunTaskTest(sfWebRequest $request)
{
// need to be working in the project root
chdir(sfConfig::get('sf_root_dir'));
// init the task we want to run
$task = new sfCacheClearTask($this->dispatcher, new sfFormatter());
// run the task
$task->run(
array(), // array of arguments
array(
'app' => 'frontend',
'env' => 'prod',
'type' => 'all',
) // array of options
);
// back to where we came from
$this->redirect($request->getReferer());
}
您也可以使用PHP
exec()
或shell\u exec()
函数,但这个Symfony解决方案可能更简单。:) 以下是如何从操作调用任务,只需添加一个链接即可。我在示例中使用了标准Symfony“清除缓存”任务,但您可以将其更改为您的:
public function executeRunTaskTest(sfWebRequest $request)
{
// need to be working in the project root
chdir(sfConfig::get('sf_root_dir'));
// init the task we want to run
$task = new sfCacheClearTask($this->dispatcher, new sfFormatter());
// run the task
$task->run(
array(), // array of arguments
array(
'app' => 'frontend',
'env' => 'prod',
'type' => 'all',
) // array of options
);
// back to where we came from
$this->redirect($request->getReferer());
}
您也可以使用PHP
exec()
或shell\u exec()
函数,但这个Symfony解决方案可能更简单。:) 你确定是克朗·特拉斯克吗?我认为这是cron在特定时间执行的一项symfony任务。这项任务的目的是什么?这是一项长时间运行的繁重任务,cpu和/或内存使用率高,还是轻量级任务?如果它是轻量级的,您应该重构它的代码,以便在操作中重用。你不必从头重写它。我正在尽最大努力用英语交流,但是cron执行的Symfony任务和cron任务对我来说听起来是一样的。此任务连接到外部Web服务并更新一个表,它很复杂,因为Web服务的文档记录很差,并且它们的函数具有nom友好的名称,因此我的团队中没有人真正记得/理解此代码自一年前编写以来是如何工作的。您确定它是cron trask吗?我认为这是cron在特定时间执行的一项symfony任务。这项任务的目的是什么?这是一项长时间运行的繁重任务,cpu和/或内存使用率高,还是轻量级任务?如果它是轻量级的,您应该重构它的代码,以便在操作中重用。你不必从头重写它。我正在尽最大努力用英语交流,但是cron执行的Symfony任务和cron任务对我来说听起来是一样的。此任务连接到外部Web服务并更新一个表,它很复杂,因为Web服务的文档记录很差,并且它们的函数具有nom友好的名称,所以我的团队中没有人真正记得/理解此代码自一年前编写以来是如何工作的。谢谢。它需要更多的测试,但这正是我想要的。谢谢。它需要更多的测试,但这正是我想要的。