我有一个每次调用函数的计划作业。这个函数做了很多事情,可能会抛出异常或给我一个错误。Laravel取得日程安排作业
这是在一个循环中完成的,所以如果发生错误,该函数将停止工作并被删除,直到我删除导致错误的条目(或修复错误)。
事情是这样的:
public function process_documents()
{
$documents = document::where("processed", 0)->get();
foreach($documents as $document)
{
$this->do_this($document);
$this->do_that($document);
$this->finish($document);
}
}
的解决方案,我虽然:
1-做一个执行命令的命令。
foreach($documents as $document)
{
Artisan::call("document:process",$document->id);
}
2-尝试捕捉无处不
我知道他们都将工作,但我想知道是否有另一种方式。
当然,我每次都会修复它,但我不想在上午04:00保姆生产,因为意外坠毁了。特别是当我不是项目中的onyl工作人员时。 – prgrm
这是个好建议。尽管我认为'try/catch'块有其目的和地点。 @prgrm也提到这个功能做了很多。研究问题的分离,并将其分解为更小,更易于管理的功能。 – fubar
我同意一个尝试/抓住每个文件找到问题就没问题。但正如我所理解的那样,他希望增加对每一个功能的尝试。 – Jerodev