(php-yii-userGroups)cron工作执行而无需停止



所以,我有以下代码的cron工作:

class UGCJReminder extends UGCronJob {
/**
 * return the cron description
 */
protected function getDescription()
{
    return Yii::t('userGroupsModule.cron', 'manda email para os usuarios cadastrados para cadastrar suas atividades');
}
/**
 * return the cron table model name
 */
protected function getCronTable()
{
    return 'UserGroupsCron';
}
/**
 * return the cron name
 */
protected function getName()
{
    return 'reminder';
}
/**
 * returns the number of days that have to pass before performing this cron job
 */
protected function getLapse()
{
    return 1;
}
/**
 * return the model
 */
protected function getModel()
{
    return new UserGroupsUser;
}
/**
 * return the action method
 */
protected function getAction()
{
        Yii::import('ext.yii-mail.YiiMailMessage');
        $message = new YiiMailMessage;
        $message->setBody('Message', 'text/html');
        $message->subject = 'Lembrete';
        $message->addTo('my-email');
        $message->from = Yii::app()->params['adminEmail'];
        return Yii::app()->mail->send($message);
}
/**
 * return the action criteria
 */
protected function getCriteria()
{
            return new CDbCriteria;
}
/**
 * return the interested database fields
 */
protected function getColumns()
 {
        return array('email' => UserGroupsUser::ACTIVE);
        #return NULL;
 }
}

我对用户组(yii模块)提出的文档进行了所有其他更改,而cron列表说我的cron已安装和运行。但是,它每天运行多次,每天只能运行一次。那我做错了什么?

我还将接受另一个解决此问题的解决方案(每天确定的时间发送电子邮件)。请考虑我正在使用yii,因此希望在框架内(例如扩展程序)进行此操作

ps:如果您知道良好的文档来源(因为用户组,cron-tab和yii本身对所有这些作用并不是很强大),那么我仍然对此感兴趣

我以前从未使用过这个伸展。但是我正在查看源代码并注意此片段:

https://github.com/nickcv/usergroups/blob/master/master/components/ugcron.php#l206

if ($cItem->last_occurrence <= date('Y-m-d', time() - (3600 * 24 * $cItem->lapse)).' 00:00:00') {
    ...
    $cItem->last_occurrence = date('Y-m-d').' 00:00:00';                    
    $cItem->save();
}

我想问你下一个问题:

  1. 在您的情况下,if操作员是否正常工作?
  2. $cItem->last_occurrence在Cron运行后是否会更新?
  3. 您使用哪种版本的PHP?

相关内容

  • 没有找到相关文章