2017-07-10 112 views
0

一直使用PHPlist和即時嘗試讓並行處理工作,但它似乎即使我設置批處理和郵件隊列限制以及並行處理只有一個活動似乎運行,即使達到批量限制後。下面的郵件處理部分介紹config.php文件。請注意我使用config_extend文件來進一步自定義這個。我還有一個每5分鐘運行一次的cron作業來檢查和處理隊列。PHPList並行處理

========================================================================= 

Queue and Load management 

========================================================================= 

*/ 

// If you set up your system to send the message automatically (from commandline), 
// you can set this value to 0, so "Process Queue" will disappear from the site 
// this will also stop users from loading the page on the web frontend, so you will 
// have to make sure that you run the queue from the commandline 
// check README.commandline how to do this 
define('MANUALLY_PROCESS_QUEUE', 1); 

// This setting will activate an initial setup choice for processing the queue 
// When "true" it will allow a choice between remote queue processing with the 
// phpList.com service or processing it locally in the browser. 
// when the value is "false", you can use remote processing in your own way 
// as explain at https://resources.phplist.com/system/remote_processing 
define('SHOW_PQCHOICE',false); 

// batch processing 
// if you are on a shared host, it will probably be appreciated if you don't send 
// out loads of emails in one go. To do this, you can configure batch processing. 
// Please note, the following two values can be overridden by your ISP by using 
// a server wide configuration. So if you notice these values to be different 
// in reality, that may be the case 

// max messages to process 
// if there are multiple messages in the queue, set a maximum to work on 
define('MAX_PROCESS_MESSAGE', 999); 

// process parallel 
// if there are multiple messages in the queue, divide the max batch across them 
// instead of sending them one by one. 
// this only works if you use batch processing. It will divide the batch between the 
// campaigns that need sending. 
define('PROCESSCAMPAIGNS_PARALLEL',true); 

// define the amount of emails you want to send per period. If 0, batch processing 
// is disabled and messages are sent out as fast as possible 
define('MAILQUEUE_BATCH_SIZE', 360); 

// define the length of one batch processing period, in seconds (3600 is an hour) 
define('MAILQUEUE_BATCH_PERIOD', 3600); 

// to avoid overloading the server that sends your email, you can add a little delay 
// between messages that will spread the load of sending 
// you will need to find a good value for your own server 
// value is in seconds, and you can use fractions, eg "0.5" is half a second 
// (or you can play with the autothrottle below) 
define('MAILQUEUE_THROTTLE', 10); 

// Mailqueue autothrottle. This will try to automatically change the delay 
// between messages to make sure that the MAILQUEUE_BATCH_SIZE (above) is spread evently over 
// MAILQUEUE_BATCH_PERIOD, instead of firing the Batch in the first few minutes of the period 
// and then waiting for the next period. This only works with mailqueue_throttle off 
// and MAILQUEUE_BATCH_PERIOD being a positive value 
// it still needs tweaking, so send your feedback to mantis.phplist.com if you find 
// any issues with it 
define('MAILQUEUE_AUTOTHROTTLE', 0); 

// Domain Throttling 
// You can activate domain throttling, by setting USE_DOMAIN_THROTTLE to 1 
// define the maximum amount of emails you want to allow sending to any domain and the number 
// of seconds for that amount. This will make sure you don't send too many emails to one domain 
// which may cause blacklisting. Particularly the big ones are tricky about this. 
// it may cause a dramatic increase in the amount of time to send a message, depending on how 
// many users you have that have the same domain (eg hotmail.com) 
// if too many failures for throttling occur, the send process will automatically add an extra 
// delay to try to improve that. The example sends 1 message every 2 minutes. 

define('USE_DOMAIN_THROTTLE', 0); 
define('DOMAIN_BATCH_SIZE', 1); 
define('DOMAIN_BATCH_PERIOD', 120); 

// if you have very large numbers of users on the same domains, this may result in the need 
// to run processqueue many times, when you use domain throttling. You can also tell phplist 
// to simply delay a bit between messages to increase the number of messages sent per queue run 
// if you want to use that set this to 1, otherwise simply run the queue many times. A cron 
// process every 10 or 15 minutes is recommended. 
define('DOMAIN_AUTO_THROTTLE', 0); 

// MAX_PROCESSQUEUE_TIME 
// to limit the time, regardless of batch processing or other throttling of a single run of "processqueue" 
// you can set the MAX_PROCESSQUEUE_TIME in seconds 
// if a single queue run exceeds this amount, it will stop, just to pick up from where it left off next time 
// this allows multiple installations each to run the queue, but slow installations (eg with large emails) 
// set to 0 to disable this feature. 
define('MAX_PROCESSQUEUE_TIME', 0); 

/* 

我的目標是讓2個廣告系列發送郵件。我知道它不能立即發送兩個廣告系列,除非我有2次安裝,但即使在發送最大批次後,它也不會切換到第二個廣告系列。沒有人有這方面的經驗?

感謝

回答

0

多經過修修補補,並試圖弄清楚爲什麼電子郵件被髮送出去這麼慢下來到一個帶寬問題。我認爲這與PHPList和腳本有關,但在與我們的託管服務提供商覈對之後,我可以確認他們一直有帶寬問題。所以現在所有的固定和工作