本文整理匯總了PHP中Campaign::getByStatusAndSendingTime方法的典型用法代碼示例。如果您正苦於以下問題:PHP Campaign::getByStatusAndSendingTime方法的具體用法?PHP Campaign::getByStatusAndSendingTime怎麽用?PHP Campaign::getByStatusAndSendingTime使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Campaign
的用法示例。
在下文中一共展示了Campaign::getByStatusAndSendingTime方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: generateCampaignItemsForDueCampaigns
/**
* For now we should limit to process one campaign at a time until it is completely processed. This will
* avoid potential performance problems.
* @param null $pageSize - used to determine how many campaignItems to create per run.
* @param integer $campaignPageSize
* @return bool
*/
public static function generateCampaignItemsForDueCampaigns($pageSize = null, $campaignPageSize = 1)
{
assert('is_int($pageSize) || $pageSize == null');
assert('is_int($campaignPageSize)');
$dueCampaigns = Campaign::getByStatusAndSendingTime(Campaign::STATUS_ACTIVE, time(), $campaignPageSize);
foreach ($dueCampaigns as $dueCampaign) {
if (static::generateCampaignItems($dueCampaign, $pageSize)) {
$dueCampaign->status = Campaign::STATUS_PROCESSING;
if (!$dueCampaign->save()) {
throw new FailedToSaveModelException("Unable to save campaign");
}
}
}
return true;
}
示例2: resolveJobsForQueue
/**
* @see parent::resolveJobsForQueue()
*/
public static function resolveJobsForQueue()
{
parent::resolveJobsForQueue();
$pageSize = static::JOB_QUEUE_PAGE_SIZE;
$offset = 0;
$timeStamp = time();
do {
$campaigns = Campaign::getByStatusAndSendingTime(Campaign::STATUS_ACTIVE, $timeStamp, $pageSize, $offset, false);
$offset = $offset + $pageSize;
if (is_array($campaigns) && count($campaigns) > 0) {
foreach ($campaigns as $campaign) {
Yii::app()->jobQueue->resolveToAddJobTypeByModelByDateTimeAttribute($campaign, 'sendOnDateTime', 'CampaignGenerateDueCampaignItems');
}
}
} while (is_array($campaigns) && count($campaigns) > 0);
}
示例3: testGetByStatusAndSendingTime
/**
* @depends testGetByStatus
*/
public function testGetByStatusAndSendingTime()
{
$totalCampaigns = Campaign::getAll();
$this->assertNotEmpty($totalCampaigns);
$this->assertCount(4, $totalCampaigns);
$dueActiveCampaigns = Campaign::getByStatusAndSendingTime(Campaign::STATUS_ACTIVE, time() + 100);
$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('from2@zurmo.com', $campaign->fromAddress);
$this->assertEquals('Test Subject2', $campaign->subject);
$this->assertEquals('Test Html Content2', $campaign->htmlContent);
$this->assertEquals('Test Text Content2', $campaign->textContent);
$duePausedCampaigns = Campaign::getByStatusAndSendingTime(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('from@zurmo.com', $campaign->fromAddress);
$this->assertEquals('Test Subject', $campaign->subject);
$this->assertEquals('Test Html Content', $campaign->htmlContent);
$this->assertEquals('Test Text Content', $campaign->textContent);
}