123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- <?php
-
-
-
-
-
-
-
-
-
-
-
-
-
- namespace addons\queue\jobs;
-
- use think\facade\Log;
- use think\queue\Job;
-
- class DemoJob
- {
-
-
-
- public function fire(Job $job, $data)
- {
- $isJobDone = $this->doHelloJob($data);
- if ($isJobDone) {
-
- $job->delete();
- print("<info>Hello Job has been done and deleted" . "</info>\n");
- } else {
-
- if ($job->attempts() > 3) {
- $job->delete();
- print("<warn>Hello Job has been retried more than 3 times!" . "</warn>\n");
- } else {
-
- $job->release(5);
- }
- }
- }
-
-
- public function taskA(Job $job, $data)
- {
- $isJobDone = $this->_doTaskA($data);
- if ($isJobDone) {
- $job->delete();
- print("Info: TaskA of Job MultiTask has been done and deleted" . "\n");
- } else {
- if ($job->attempts() > 3) {
- $job->delete();
- }
- }
- }
-
-
- public function taskB(Job $job, $data)
- {
- $isJobDone = $this->_doTaskA($data);
- if ($isJobDone) {
- $job->delete();
- print("Info: TaskB of Job MultiTask has been done and deleted" . "\n");
- } else {
- if ($job->attempts() > 2) {
- $job->release();
- }
- }
- }
-
-
-
- private function doHelloJob($data)
- {
- print("<info>Hello Job Started. job Data is: " . var_export($data, true) . "</info> \n");
- print("<info>Hello Job is Fired at " . date('Y-m-d H:i:s') . "</info> \n");
- print("<info>Hello Job is Done!" . "</info> \n");
- return false;
- }
-
- private function _doTaskA($data)
- {
- print("Info: doing TaskA of Job MultiTask " . "\n");
- return true;
- }
-
- private function _doTaskB($data)
- {
- print("Info: doing TaskB of Job MultiTask " . "\n");
- return true;
- }
-
-
-
- public function failed($jobData)
- {
- Log::error("Warning: Job failed after max retries. job data is :" . var_export($jobData, true));
- }
- }
|