View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002379||phpList 3 application||Batch Processing||public||02-01-05 04:46||21-02-05 18:36|
|Target Version||Fixed in Version||2.9.4|
|Summary||0002379: Batch processing by cron job gets stuck; messages display 'inprocessing'; cannot be sent|
|Description||Forgive 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:
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 Information||Other related posts:|
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:
* ionCube Loader
* Zend Optimizer
|Tags||No tags attached.|