Ejemplo n.º 1
0
 /**
  * @param null $pageSize | int $pageSize
  * @return bool
  */
 public static function markProcessedCampaignsAsCompleted($pageSize = null)
 {
     if ($pageSize != null) {
         $resolvedPageSize = $pageSize + 1;
     } else {
         $resolvedPageSize = $pageSize;
     }
     $processingCampaigns = Campaign::getByStatus(Campaign::STATUS_PROCESSING, $resolvedPageSize);
     $campaignsProcessed = 0;
     foreach ($processingCampaigns as $processingCampaign) {
         if ($campaignsProcessed < $pageSize || $pageSize == null) {
             if (static::areAllCampaignItemsProcessed($processingCampaign->id)) {
                 $processingCampaign->status = Campaign::STATUS_COMPLETED;
                 if (!$processingCampaign->save()) {
                     return false;
                 }
             }
             $campaignsProcessed++;
         } else {
             Yii::app()->jobQueue->add('CampaignMarkCompleted', 5);
             break;
         }
     }
     return true;
 }
Ejemplo n.º 2
0
 /**
  * @param null $pageSize | int $pageSize
  * @return bool
  */
 public static function markProcessedCampaignsAsCompleted($pageSize = null)
 {
     $processingCampaigns = Campaign::getByStatus(Campaign::STATUS_PROCESSING, $pageSize);
     foreach ($processingCampaigns as $processingCampaign) {
         if (static::areAllCampaignItemsProcessed($processingCampaign->id)) {
             $processingCampaign->status = Campaign::STATUS_COMPLETED;
             if (!$processingCampaign->save()) {
                 return false;
             }
         }
     }
     return true;
 }
Ejemplo n.º 3
0
 /**
  * @depends testCreateAndGetCampaignListById
  */
 public function testGetByStatus()
 {
     $totalCampaigns = Campaign::getAll();
     $this->assertNotEmpty($totalCampaigns);
     $this->assertCount(4, $totalCampaigns);
     $dueActiveCampaigns = Campaign::getByStatus(Campaign::STATUS_ACTIVE);
     $this->assertNotEmpty($dueActiveCampaigns);
     $this->assertCount(3, $dueActiveCampaigns);
     $campaign = $dueActiveCampaigns[0];
     $this->assertEquals('Test Campaign Name2', $campaign->name);
     $this->assertEquals(0, $campaign->supportsRichText);
     $this->assertEquals('From Name2', $campaign->fromName);
     $this->assertEquals('*****@*****.**', $campaign->fromAddress);
     $this->assertEquals('Test Subject2', $campaign->subject);
     $this->assertEquals('Test Html Content2', $campaign->htmlContent);
     $this->assertEquals('Test Text Content2', $campaign->textContent);
     $duePausedCampaigns = Campaign::getByStatus(Campaign::STATUS_PAUSED);
     $this->assertNotEmpty($duePausedCampaigns);
     $this->assertCount(1, $duePausedCampaigns);
     $campaign = $duePausedCampaigns[0];
     $this->assertEquals('Test Campaign Name', $campaign->name);
     $this->assertEquals(1, $campaign->supportsRichText);
     $this->assertEquals(Campaign::STATUS_PAUSED, $campaign->status);
     $this->assertEquals('From Name', $campaign->fromName);
     $this->assertEquals('*****@*****.**', $campaign->fromAddress);
     $this->assertEquals('Test Subject', $campaign->subject);
     $this->assertEquals('Test Html Content', $campaign->htmlContent);
     $this->assertEquals('Test Text Content', $campaign->textContent);
 }