[Resolved] Remote queue processing stopped working after 3.2.0 upgrade

I’m loving the 3.2 upgrade, except that I just discovered that remote processing of the queue is not working.

I’m using a URL format like the following:

http://example.com/lists/?page=processqueue&secret={$secret}&reload=0

And I’m now receiving the following message:
Error: Access Denied

(edit: Process bounces works just fine with the secret key, however)

This was working fine in 3.0.12 and I’ve double-checked the secret key.

It looks like my Autoresponder isn’t processing 100% correctly either:

/?page=process&pi=Autoresponder&login={$username}&password={$pass}&secret={$secret}

Half the time it works and half the time it gives me the following error message:
No Such Account

I’d prefer not to downgrade by that might be my only option.

I’ve been experimenting by adding parameters ( cmd=start and pqchoice=local )

Now I’m getting this return message when using just processqueue&secret:

{"campaign":0,"num_users_for_message":0,"batch_count":0,"batch_total":0,"sendemail returned false total":0,"send blocked by domain throttle":0,"add attachment error":0,"sendemail returned false":0,"sentastest":0,"invalid":0,"failed_sent":0,"sent":0,"num_per_batch":0,"campaigns":0}

Edit: pqchoice is a setting. Once used, it’s saved. That’s what generates this essentially empty JSON. When I reset the pqchoice value (pqchoice=reset), I’m back to getting Error: Acess Denied

Adding the username and password to the query string does not change the message.

Also tried

?page=pageaction&action=processqueue&secret={$secret}

And got the JSON string with all zeroes again.

@michiel @justinputney Remote queue processing didn’t work for me either, I got a JSON result with zeroes too.

But I have found that the phplist_config table entry for pqchoice has to be set to “phplistdotcom”, otherwise the remote request is ignored. I have no idea how to get that value into the table other than using phpmyadmin. There seems to be an assumption that only phplist hosted will send the remote request.

1 Like

Hi Duncan,

Thanks for looking into that. I updated that value and I did get a different JSON response and it seems to have send out the queue.

Can you tell if the message is processed locally or on the server? It appears to have come from my server…

The JSON response is the result of the queue having been processed. There’s no need for any other data, except that it has been done. But yes, I agree that the assumption that phpList.com is doing it is incorrect. If someone can report that in mantis, we can have a look at it for the next version.

@michiel @duncanc Now that I have that setting, the Process Queue page (in the UI) says my API key is wrong and is prompting me for a phplist.com API key in order process the queue.

It’s really hard to tell if things are successful or failing.

@michiel @duncanc I’m not super-familiar with the code, but it looks like the issue may be in actions/processqueue.php at line 21.

if ($pqChoice != 'phplistdotcom') {
        $counters['campaigns'] = 0;
        print outputCounters();
        exit;
}

It looks like the script is exited if the pqchoice is not “phplistdotcom” (just as @duncanc found).

1 Like

Yes, I guess I forgot about non-hosted remote queue processing. I will need to add another choice, being remote queue processing which is not operated by phpList.com. That should not be too hard, but it just needs adding. In the meantime, you can remove those lines, and it may work.

1 Like

OK. Commented out those lines, removed the pqchoice setting and everything is back to working the way it was in 3.0.12 (plus the new features). Thanks @michiel and @duncanc!

1 Like

Good day.
I’m having the same problem in sending messages in queue, via cron. I have mentioned the lines of code, but it keeps on not working.
Algem managed to solve the problem?
I’m using version 3.2.0

What URL are you using (minus the private data) and what is happening when you try to access it in the browser (e.g. error message)?