0

As my first delve into webhooks I've just installed the Pixel&Tonic Webhooks plugin. I'm trying to send data from a front end contact form to Zapier. The front end form uses the Pixel&Tonic Contact Form plugin and the webhook setting is set to the beforeSend event.

I've got the connections working although the webhook doesn't seem to fire automatically. It only sends data to Zapier when I refresh the admin control panel (a 'Sending webhook ...' task displays briefly at the bottom of the control panel's left sidebar).

The email is sending just fine and is immediately received, it's just the webhook that seems to be getting 'stuck'. Is there anything I'm doing wrong?

Webhooks settings

Queue db table with stuck task

  • Check your Craft log files for any clues? Is a job stuck in Craft's queue? The plugin pushes webhooks into the queue so if a job is stalled there, nothing else will go through. Your settings look correct, FWIW. – Brad Bell Jan 10 at 20:09
  • I've cleaned out the storage/logs folder and retested a few times but nothing new showing up there. Nothing in the Apache error log either. I've also tried upping the PHP max_execution_time from 30 to 300 but that had no effect. Nothing in the queue db table other than the stuck webhook task just added to original post. – Dr_Codswallop Jan 11 at 0:55
  • Seeing some things come up in queue.log which related to the Olivemenus plugin I was using. I've uninstalled Olivemenus now. Webhook still hangs in the queue db table after form submission. After it fires on CP control panel login it clears out the queue db table and updates queue.log file with 2019-01-13 16:13:44 [-][1][-][info][craft\queue\QueueLogBehavior::beforeExec] [329] Sending webhook “Email ➡️ Zapier” (attempt: 1) - Started 2019-01-13 16:13:44 [-][1][-][info][craft\queue\QueueLogBehavior::afterExec] [329] Sending webhook “Email ➡️ Zapier” (attempt: 1) - Done (time: 0.370s) – Dr_Codswallop Jan 13 at 16:22
1

I had a similar issue where some queues would only run when I logged in via the control panel. The root cause is usually stalled or failed tasks, but I was able to get webhook tasks to run instantly by installing the AsyncQueue plugin.

From their docs:

This plugin replaces Craft's default queue handler and moves queue execution to a non-blocking background process. The command craft queue/run gets executed right after you push a Job to the queue.

  • Thanks for the heads up Stephen. After a little fighting to get the AsyncQueue plugin installed this seems to do the trick. – Dr_Codswallop Feb 3 at 13:25

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.