View Issue Details

IDProjectCategoryView StatusLast Update
0002379phpList 3 applicationBatch Processingpublic21-02-05 18:36
Reporterkarma 
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionduplicate 
Product Version2.8.12 
Target VersionFixed in Version2.9.4 
Summary0002379: Batch processing by cron job gets stuck; messages display 'inprocessing'; cannot be sent
DescriptionForgive me if this is mentioned or fixed; please let me know. didn't see it.

This is a major bug for me. I just spent the last 5 days configuring phplist; I have 8000 members and 18 different lists all set up to go, was really impressed with the potential of phplist etc., but now that I'm to the point of needing to send a real message, the whole thing is brought to its knees.

I am hosted at lunarpages.com, with an email limit of 500 per hour. They don't allow GET, WGET, Lynx, etc. But I was able to call php command line as explained next.

So I decided to try setting the MAILQUEUE_BATCH_SIZE to 125, and MAILQUEUE_BATCH_PERIOD to 900 (125 every 15 minutes).

I then have a cron job set up to call "processqueue" every so often, but let's say once every 15 minutes for the purposes of this explanation. I already tested the cron job interface, and got it all working on test messages to small numbers of users. My syntax is:

php /home/mysite/public_html/phplist/admin/index.php page=processqueue login=USERNAME password=PASSWORD

This seems to work fine, as i said, for small lists of a few people. Then I created a test list, containing 200 test emails to one of my accounts, test1@blah, test2@blah, etc.

So I queue up the test message, and the cron job executes, and the first 125 messages go out and are received properly.

After that, nothing ever happens again. Viewing the message shows it to be "inprocessing" with 125 messages sent. Even manually clicking "processqueue" does absolutely nothing. Experimenting with several different test of this resulted in the following:

1) You can "unfreeze" the whole thing by setting the MAILQUEUE_BATCH_SIZE back to 0, at which the next cron job will execute all the remaining messages.

2) Or, I have found that I can get the next batch of 125 messages to execute, by using the fix illustrate in the following phplist forum topic:

http://www.phplist.com/forums/viewtopic.php?t=2073

My syntax for this is:
php /home/mysite/public_html/phplist/admin/index.php page=processqueue login=USERNAME password=PASSWORD reload=1

...and indeed, as it states, to finish the batch, you need to send one extra cron job with reload incremented (i.e. 2), and then the message will finally stop displaying "inprocessing".

So, as it stands, the cron jobs simply will not work, I have a fully configured 8000 e-mail set of lists ready to go, mails that need to be sent out, and it won't work. Perhaps I can implement the hokey "10 cron jobs in a row with reload=1, reload=2, reload=3 etc." method. Going to see about that now.
Additional InformationOther related posts:
http://www.phplist.com/forums/viewtopic.php?p=6581&highlight=#6581
http://www.phplist.com/forums/viewtopic.php?p=6583&highlight=#6583

My system details are:
* PHPlist version: 2.8.12
* PHP version: 4.3.10
* Webserver: Apache Web Server
* Website: karma-lab.info/phplist
* Mysql Info: 4.0.22-standard
* PHP Modules:
* xml
* tokenizer
* swf
* standard
* sockets
* session
* posix
* pcre
* overload
* mysql
* ming
* mhash
* mcrypt
* mbstring
* imap
* gettext
* gd
* ftp
* exif
* domxml
* curl
* ctype
* calendar
* bcmath
* zlib
* openssl
* ionCube Loader
* Zend Optimizer

TagsNo tags attached.

Relationships

duplicate of 0002188 resolvedmichiel Batch processing seems to go out much too slowly.. 
has duplicate 0002446 resolvedmichiel Send Process Never Finishes 
child of 0002456 resolvedmichiel PHPList v2.9.4 release 

Activities

michiel

21-02-05 18:36

manager   ~0003599

Resolving this as fixed, because it's likely to be ok in 2.9.4 related to #2188 and once 2.9.4 is out we can see if the issue pops up or is still there.