2017-07-10 81 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和脚本有关,但在与我们的托管服务提供商核对之后,我可以确认他们一直有带宽问题。所以现在所有的固定和工作