2017-07-10 15 views
0

PHPlistと私は並列処理を動作させようとしていましたが、バッチ処理とメールキューの抑制と並列処理だけを設定しても、バッチ制限に達しても1つのキャンペーンしか実行されないようです。以下のメール処理セクションで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回のインストールがない限り、一度に両方のキャンペーンを送信できないことはわかっていますが、最大バッチを送信しても2回目のキャンペーンに切り替えることはできません。誰もこの経験がありませんか?

おかげでかなり工夫した後

答えて

0

やメールがとても遅いが、帯域幅の問題に降りてきた送り出されていた理由を理解しようと。私はそれがPHPListとスクリプトと関係があると思っていましたが、私たちのホスティングプロバイダと確認した後、彼らが帯域幅の問題を抱えていることを確認できました。だからすべて固定して今働いている