Open noeli-getjohn opened 3 months ago
@noeli-getjohn thank you for reaching out with these findings:-
For point 1 the UpdateOrdersToProcessing
is available for old users of the plugin as modifications were made to the Update orders cron. So by default the UpdateOrdersToProcessingV2
cron is enabled for all and UpdateOrdersToProcessing
is disabled for all. In your case it it not needed to enable the UpdateOrdersToProcessing
cron.
For point 2, the issue mentioned is valid and we will be adding setting where user can select the time duration of orders which the cron should consider. Marking this as an enhancement and will release a new version in sometime with this change.
Hello
We have installed this extension and found same below error, If we disable UpdateOrdersToProcessing this cron then it will create any issue?.
ERROR :-
SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘rzp_update_order_cron_status’ in ‘where clause’, query was: SELECT main_table
.*, extension_attribute_pickup_location_code
.pickup_location_code
AS extension_attribute_pickup_location_code_pickup_location_code
, extension_attribute_notification_sent
.notification_sent
AS extension_attribute_notification_sent_notification_sent
, extension_attribute_send_notification
.send_notification
AS extension_attribute_send_notification_send_notification
FROM prx_sales_order
AS main_table
LEFT JOIN prx_inventory_pickup_location_order
AS extension_attribute_pickup_location_code
ON main_table.entity_id = extension_attribute_pickup_location_code.order_id
LEFT JOIN prx_inventory_order_notification
AS extension_attribute_notification_sent
ON main_table.entity_id = extension_attribute_notification_sent.order_id
LEFT JOIN prx_inventory_order_notification
AS extension_attribute_send_notification
ON main_table.entity_id = extension_attribute_send_notification.order_id WHERE ((rzp_update_order_cron_status
< 5)) AND ((rzp_webhook_notified_at
!= ‘’)) AND ((rzp_webhook_notified_at
< 1732080906)) AND ((status
= ‘pending’)) ORDER BY main_table.entity_id DESC
Hope to hear from you ASAP. Thanks!
Hello,
We installed this extension v4.1.6 on our Magento(v2.4.5-p2) site recently. But we got very high memory and cpu usage with the cron group "razorpay", which made the server crash. In our investigation, we found two critical issues in your module.
When Razorpay\Magento\Cron\UpdateOrdersToProcessing is run, we got this error in the line 188.
Cron Job razorpay_update_order_to_processing has an error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'rzp_update_order_cron_status' in 'where clause'
It means thesales_order
table is missing the columnrazorpay_update_order_to_processing
. So we checked Razorpay\Magento\Setup\UpgradeSchema and found an issue in the line 78. Current code: $tableName =$setup->getTable(OrderLink::TABLE_NAME);
I think it should be$tableName = $setup->getTable('sales_order');
.When Razorpay\Magento\Cron\CancelPendingOrders is run, the excution time takes forever in the line 117. The error:
Could not acquire lock for cron job: razorpay_cancel_pending_orders
So it uses a lot of memory and cpu. Ther reason is because we have a lot of the orders and specially, a lot of the pending orders. total orders number: 85k total pending orders number: 35k So it's taking too much time to get these pending order. I don't think it needs to get all the pending orders before the pending order timeout because the cron job is run per 5 mins. If so, it will make the same issue for all the sites having lots of pending orders. I think there should be a minium time limit to add to the searchCriteria filter that considers if the site doesn't have the cron install for some reason for a while. It will solve the issue.We forked your repository and fixed the issues in those way. Now the cron jobs work perfectly and solved the high memory and cpu usage issue. We will make a pull request with those fixes soon. If you merge it or make better fixes for the issues, we can install this module from your github repo by composer.
Hope to hear from you soon. Thanks!