ostark / craft-async-queue

Async Queue Handler for Craft 3 and 4
MIT License
93 stars 7 forks source link

Craft Commerce emails not being sent #36

Closed jameslindeman closed 2 years ago

jameslindeman commented 3 years ago

Hi,

I can’t figure out why Commerce emails aren’t being sent when this plugin is installed. I don’t even see them go through the Queue at all. If I disable the plugin, everything works as expected (when logged into the CP). I’ve simply installed the plugin without any config, am I missing something to get this to work?

Thanks!

AsyncQueue 2.1.1 Craft CMS: 3.5.12.1 Commerce: 3.2.7 PHP: 7.2.24

jameslindeman commented 3 years ago

Actually now it seems things are stuck in the queue as pending. Maybe related to #27? I can’t see anything useful in the logs.

okay-type commented 3 years ago

I am having the same problem on my Production site. Running a 'Test Async Queue' creates ten test jobs that all just sit in the Queue as 'Pending'

Went through the troubleshooting in previous issues and it seemed like most of the problems had to do with pointing to the correct PHP location. I ran 'which php' to double check my PHP location and got: /usr/local/bin/php.

The async queue settings are:

Queue runner concurrency    2
Reserved jobs   0
Jobs waiting    10
Jobs failed 0
Command line    nice /usr/local/bin/php craft queue/run > /dev/null 2>&1 &
Queue Test

My site config: PHP 7.2.33 Craft Pro 3.5.17.1 Craft Commerce 3.2.14 Async Queue 2.2.0

ostark commented 3 years ago

@okay-type

What du you see when you run this:

/usr/local/bin/php craft queue/run -v
okay-type commented 3 years ago

I get:

$ /usr/local/bin/php craft queue/run -v
Fatal error: Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 7.2.5". You are running 5.6.40. in /home/asdfasdf/craft/vendor/composer/platform_check.php on line 25

Interesting. My server is was originally set up with 5.6.40 but has been upgraded. I was running PHP 7.2.33. I just upgraded to 7.4.15 to see if that would help and it did not.

switching the command to php74 appears to work, in that I don't get an error:

$ /usr/local/bin/php74 craft queue/run -v
[asdfasdf@web603 craft]$

So, if I understand things correctly, I think I can add PHP_BINARY='/usr/local/bin/php74' to my .env file to get things working again?

Here's a really dumb question: I see .env.php files and .env.sh files. Which .env file should I modify?

okay-type commented 3 years ago

Figured it out! (with the help of this https://nystudio107.com/blog/multi-environment-configuration-for-craft-cms-3).

The .env.php file was craft's old way to setting environmental variables. To resolve the problem I just had to create a new file named ".env" and then add "PHP_BINARY='/usr/local/bin/php74'" to that.

Thanks.