在每个月的最后一天进行laravel schedule命令

时间:2018-09-03 10:25:33

标签: laravel

我试图在每月的最后一天06:00运行命令,

class ProgressButton extends React.Component {
  constructor() {
    super();
    this.state = {
      showBar: false,
    };
    this.handleClick = this.handleClick.bind(this);
  }

  handleClick() {
   this.setState({ showBar: true });
  }

  render() {
    if (this.state.showBar) {
      return <Bar />;
    }
    return <Button onClick={this.handleClick}>Click!</Button>;
  }
}

它确实在最后一天运行,但是“ at”不起作用。知道如何使它工作吗?

2 个答案:

答案 0 :(得分:2)

我只使用monthlyOn()调度方法,因为它使您有机会指向每月的指定日期和白天执行命令。使用php的date()函数检索一个月中的天数,这成为一项令人愉快的任务:

->monthlyOn(date('t'), '6:00');

答案 1 :(得分:0)

您可以运行此命令; dailyAt而不是 at 函数

$schedule->command('crawl')->dailyAt('06:00')->when(function () {
    return \Carbon\Carbon::parse('last day of last month')->isToday();
});