PHPList并行处理

PHPList并行处理,php,batch-processing,phplist,Php,Batch Processing,Phplist,我一直在使用PHPlist和im试图让并行处理工作,但似乎即使我设置了批处理和邮件队列限制以及并行处理,即使在达到批处理限制后,似乎也只运行一个活动。下面是带有邮件处理部分的config.php文件。请注意,我使用了config_extend文件来进一步定制它。我还有一个cron作业,每5分钟运行一次,以检查和处理队列 ========================================================================= Queue and Load

我一直在使用PHPlist和im试图让并行处理工作,但似乎即使我设置了批处理和邮件队列限制以及并行处理,即使在达到批处理限制后,似乎也只运行一个活动。下面是带有邮件处理部分的config.php文件。请注意,我使用了config_extend文件来进一步定制它。我还有一个cron作业,每5分钟运行一次,以检查和处理队列

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

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);

/*
我的目标是有两个活动发送邮件。我知道它不能同时发送两个活动,除非我有两个安装,但即使在发送最大批量后,它也不会切换到第二个活动。没有人有这方面的经验吗


感谢你,经过大量的修改,试图找出电子邮件发送速度如此之慢的原因,最终导致了带宽问题。我认为这与PHPList和脚本有关,但在与我们的托管提供商核实后,我可以确认他们一直存在问题。因此,经过大量的修补,并试图找出电子邮件发送速度如此之慢的原因,所有的问题都解决了,现在都可以正常工作了。我认为这与PHPList和脚本有关,但在与我们的托管提供商核实后,我可以确认他们一直存在问题。现在一切都修好了