Tôi đã tạo một công việc Laravel để được thực hiện vào một ngày và thời gian cụ thể (ví dụ: ngày mai). Tôi muốn thêm một nút thủ công ghi đè thời gian và thực hiện công việc được xếp hàng đó trước thời gian thực hiện đã đặt. Nhấp vào nút tạo cuộc gọi ajax và gửi ID công việc đến máy chủ. Điều này sau đó dẫn đến công việc được thực hiện hôm nay thay vì ngày mai.
Chúng ta có thể thử lại các công việc thất bại bằng cách sử dụng lệnh sau:
php artisan queue:retry JOBIDHERE
Tôi không chắc chắn những gì để sử dụng để thực hiện một công việc xếp hàng.
Tôi có thể nhận được ID công việc, nhưng tôi không biết liệu có thể thực hiện Công việc Laravel trước thời gian thực hiện đã đặt hay không.
Tôi đã tìm kiếm trên Google nhưng không tìm thấy ai có vấn đề và giải pháp như vậy.
Tôi đang sử dụng Laravel Ver 5.8. Sử dụng Mysql 5.7
Cập nhật:
Sau đây là tải trọng cho Công việc xếp hàng.
Tôi đã cố gắng sử dụng Json Decode và giải mã nó, nhưng tôi không chắc liệu có thể cập nhật lệnh cho hàng đợi đó để tôi có thể cập nhật ngày và giờ cho hàng đợi và lưu lại vào hồ sơ công việc được xếp hàng không.
{"displayName":"App\\Jobs\\Payway\\UpdateCustomerInvestment","job":"Illuminate\\Queue\\CallQueuedHandler@call","maxTries":null,"delay":null,"timeout":null,"timeoutAt":null,"data":{"commandName":"App\\Jobs\\Payway\\UpdateCustomerInvestment","command":"O:40:\"App\\Jobs\\Payway\\UpdateCustomerInvestment\":17:{s:57:\"\u0000App\\Jobs\\Payway\\UpdateCustomerInvestment\u0000transactionType\";s:7:\"payment\";s:57:\"\u0000App\\Jobs\\Payway\\UpdateCustomerInvestment\u0000principalAmount\";d:9999;s:56:\"\u0000App\\Jobs\\Payway\\UpdateCustomerInvestment\u0000customerNumber\";s:4:\"BR-2\";s:50:\"\u0000App\\Jobs\\Payway\\UpdateCustomerInvestment\u0000currency\";s:3:\"aud\";s:58:\"\u0000App\\Jobs\\Payway\\UpdateCustomerInvestment\u0000singleUseTokenID\";N;s:55:\"\u0000App\\Jobs\\Payway\\UpdateCustomerInvestment\u0000payway_helper\";O:29:\"App\\Http\\Helpers\\PaywayHelper\":0:{}s:54:\"\u0000App\\Jobs\\Payway\\UpdateCustomerInvestment\u0000impodenceKey\";s:36:\"afedfc34-d08e-4831-a4aa-29de930d6b98\";s:49:\"\u0000App\\Jobs\\Payway\\UpdateCustomerInvestment\u0000headers\";a:0:{}s:60:\"\u0000App\\Jobs\\Payway\\UpdateCustomerInvestment\u0000localInvestmentObj\";O:45:\"Illuminate\\Contracts\\Database\\ModelIdentifier\":4:{s:5:\"class\";s:33:\"App\\Models\\Investment\\Investments\";s:2:\"id\";i:374;s:9:\"relations\";a:2:{i:0;s:8:\"investor\";i:1;s:13:\"investor.user\";}s:10:\"connection\";s:5:\"mysql\";}s:54:\"\u0000App\\Jobs\\Payway\\UpdateCustomerInvestment\u0000paywayTotals\";O:45:\"Illuminate\\Contracts\\Database\\ModelIdentifier\":4:{s:5:\"class\";s:38:\"App\\Models\\Banking\\Payway\\PaywayTotals\";s:2:\"id\";i:1;s:9:\"relations\";a:0:{}s:10:\"connection\";s:5:\"mysql\";}s:6:\"\u0000*\u0000job\";N;s:10:\"connection\";N;s:5:\"queue\";s:6:\"payway\";s:15:\"chainConnection\";N;s:10:\"chainQueue\";N;s:5:\"delay\";O:13:\"Carbon\\Carbon\":3:{s:4:\"date\";s:26:\"2019-11-12 23:35:22.752222\";s:13:\"timezone_type\";i:3;s:8:\"timezone\";s:16:\"Australia\/Sydney\";}s:7:\"chained\";a:0:{}}"}}
Cập nhật 2:
Khi tôi giải tuần tự Lệnh tải trọng, tôi đã nhận được thông tin sau.
Vì vậy, tôi đang cố gắng cập nhật ngày trì hoãn đó, hy vọng nó sẽ hoạt động.
Nhưng từ câu trả lời của "Julian Stark", tôi cũng có thể phải cập nhật ready_at.
Lý thuyết của tôi là khi hàng đợi chạy, nó sẽ tìm kiếm việc làm dựa trên available_at
. Tuy nhiên, khi công việc đang thực thi và nó có độ trễ, nó có thể không thực thi tại thời điểm cụ thể đó. Lý thuyết này vẫn chưa được thử nghiệm.
Tôi sẽ cập nhật cả hai dateTimes này và kiểm tra xem mọi thứ có hoạt động trơn tru không.