本文整理汇总了PHP中Illuminate\Queue\Jobs\Job类的典型用法代码示例。如果您正苦于以下问题:PHP Job类的具体用法?PHP Job怎么用?PHP Job使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Job类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: fire
public function fire(Job $job, array $data)
{
$command = PostToCallback::create($data['image_id']);
$command->execute();
// End job
$job->delete();
}
示例2: fire
public function fire(\Illuminate\Queue\Jobs\Job $job, array $data)
{
if (!$this->index_product_repo->updateIndex($data['fields'], false)) {
throw new \RunTimeException('Index operation failed: ' . $this->index_product_repo->errors());
}
$job->delete();
}
示例3: fire
public function fire(Job $job, $data)
{
// Stop if over three attempts
if ($job->attempts() > 3) {
Log::info("Job Delete: " . serialize($job));
$job->delete();
}
// Begin
try {
$image = Image::find($data['image_id']);
$corners = $image->getBoundingBox();
$rgba = Litmus::getAverageColor($image->url, $corners[0], $corners[1], $corners[2], $corners[3]);
//Update Image
$image->red = $rgba->red;
$image->green = $rgba->green;
$image->blue = $rgba->blue;
$image->alpha = $rgba->alpha;
$image->status = "done";
$image->save();
Event::fire('image.done', [$image]);
} catch (\Exception $e) {
Log::error($e->getMessage());
$job->release();
}
// Success, delete job...
$job->delete();
}
示例4: fire
/**
* Sends an email
*
* @param \Illuminate\Queue\Jobs\Job $sqsJob
* @param array $data
*
* @return void
*/
public function fire($sqsJob, $params)
{
// Get the needed parameters
$domain = $params[0];
$view = $params[1];
$data = $params[2];
$messageData = $params[3];
$driver = isset($params[4]) ? $params[4] : null;
// If using a specific driver, set it now
if (!is_null($driver)) {
Config::set('mail.driver', $driver);
}
// If not using the mailgun driver, send normally ignoring the domain
if (Config::get('mail.driver') !== 'mailgun') {
$this->send($view, $data, $messageData);
// Otherwise, adjust the mailgun domain dynamically
} else {
// Backup your default mailer
$backup = Mail::getSwiftMailer();
// Setup your mailgun transport
$transport = new MailgunTransport(Config::get('services.mailgun.secret'), $domain);
$mailer = new Swift_Mailer($transport);
// Set the new mailer with the domain
Mail::setSwiftMailer($mailer);
// Send your message
$this->send($view, $data, $messageData);
// Restore the default mailer instance
Mail::setSwiftMailer($backup);
}
$sqsJob->delete();
}
示例5: fire
public function fire(Job $job, $data)
{
$doSuccess = false;
// push to url
if ($data['url']) {
$curl = new Curl();
$curl->post($data['url'], $data['data']);
$doSuccess = $curl->ok();
if (!$doSuccess) {
Log::warning('callback.push.url', array('message' => 'callback push failed to ' . $data['url'], 'order' => $data['data']['order']));
}
}
// push to email
if ($data['email']) {
Mail::send(array('text' => 'ff-bank-em::demo.email_callback'), $data, function (Message $message) use($data) {
$message->to($data['email'])->subject('Bank Emulator Payment Message');
});
$doSuccess = 0 == count(Mail::failures());
if (!$doSuccess) {
Log::warning('callback.push.email', array('message' => 'callback push failed', 'order' => $data['data']['order']));
}
}
// release, if error
if ($doSuccess) {
Log::info('callback.push', array('order' => $data['data']['order']));
$job->delete();
} else {
Log::warning('callback.push', array('order' => $data['data']['order']));
if ($job->attempts() > 10) {
$job->delete();
} else {
$job->release(60);
}
}
}
示例6: fire
/**
* @param Job $syncJob Laravel queue job
* @param $arguments
* @return bool
* @throws \Unifact\Connector\Exceptions\HandlerException
*/
public function fire(Job $syncJob, $arguments)
{
try {
$job = $this->jobRepo->findById($arguments['job_id']);
$job->setPreviousStatus($arguments['previous_status']);
$handler = forward_static_call([$job->handler, 'make']);
$this->logger->debug("Preparing Job..");
if (!$handler->prepare()) {
$this->logger->error('Handler returned FALSE in prepare() method, see log for details');
// delete Laravel queue job
$syncJob->delete();
return false;
}
$this->logger->debug("Handling Job..");
if ($handler->handle($job) === false) {
$this->logger->error('Handler returned FALSE in handle() method, see log for details');
// delete Laravel queue job
$syncJob->delete();
return false;
}
$this->logger->debug("Completing Job..");
$handler->complete();
$this->logger->info('Finished Job successfully');
} catch (\Exception $e) {
$this->oracle->exception($e);
$this->logger->error('Exception was thrown in JobQueueHandler::fire method.');
$this->jobRepo->update($arguments['job_id'], ['status' => 'error']);
// delete Laravel queue job
$syncJob->delete();
return false;
}
// delete Laravel queue job
$syncJob->delete();
return true;
}
示例7: fire
/**
* @param Job $job
* @param array $data
*/
public function fire(Job $job, $data)
{
Log::info('Получен запрос через очередь с параметрами:', $data);
Validators::ValidateRequest($data);
$mainHandler = new MainHandler();
$mainHandler->processRequest($data);
$job->delete();
}
示例8: fire
public function fire(Job $job, array $data)
{
if ($this->filesystem->exists($data['filepath'])) {
$this->filesystem->delete($data['filepath']);
}
// End job
$job->delete();
}
示例9: fire
public function fire(Job $job, array $data)
{
// Process Image
$command = ImageColorAnalysis::create($data['image_id']);
$command->execute();
// End job
$job->delete();
}
示例10: fire
/**
* Called by the illuminate queue.
*
* @param \Illuminate\Queue\Jobs\Job $job
* @param array $data Data that has been added by the Laravel handler.
*
* @return void
*/
public function fire(IlluminateJob $job, array $data)
{
if (empty($this->transport)) {
$this->transport = new $data['transport']['class']($data['transport']['options']);
}
$this->transport->send($data['url'], $data['data'], $data['headers']);
$job->delete();
}
示例11: processBorrowerImportJob
public function processBorrowerImportJob(Job $job, $data)
{
$id = $data['id'];
$borrowerPayment = $this->paymentQuery->create()->findOneById($id);
if ($borrowerPayment) {
$this->processBorrowerPayment($borrowerPayment);
}
$job->delete();
}
示例12: fire
public function fire(IlluminateJob $job, $data)
{
$client = new Client($data['client']);
$transport = new $data['transport']['class']();
foreach ($client->servers as $url) {
$transport->send($url, $data['message'], Client::getHeaders($client));
}
$job->delete();
}
示例13: fire
public function fire(Job $job, $models)
{
foreach ($models as $model) {
list($class, $id) = explode(':', $model);
$model = new $class();
$model->deleteDoc($id);
}
$job->delete();
}
示例14: fire
/**
* Handle the queue job.
*
* @param LaravelJob $laravelJob
* @param mixed $data
*/
public function fire(LaravelJob $laravelJob, $data)
{
$job = null;
try {
$job = $this->jobs->find($data['job_id']);
// Check if the job is valid (not expired and ready). This might
// happen on some timing edge cases.
if (!$job->ready()) {
$laravelJob->delete();
return;
}
// Look for a task handler
$handler = $this->resolver->resolve($job);
if ($handler->getSpec() instanceof Spec) {
$result = $handler->getSpec()->check($job->getData());
if ($result->failed()) {
$laravelJob->delete();
$this->jobs->giveUp($job, 'Task data does not pass Spec.');
return;
}
}
// Execute the handler
$this->jobs->started($job, "Task handler started.\n");
$handler->fire($job, $this->scheduler);
if ($handler->isSelfDeleting()) {
$this->jobs->delete($job->id);
} else {
$this->jobs->complete($job);
}
} catch (ModelNotFoundException $e) {
// Here we just cancel the queue job since there is no point in
// retrying.
$laravelJob->delete();
} catch (UnresolvableException $e) {
// Here we just cancel the queue job since there is no point in
// retrying.
$laravelJob->delete();
$this->jobs->giveUp($job, 'Task handler was not found');
} catch (Exception $e) {
// If we were not able to find the job, just give up.
if (is_null($job)) {
$laravelJob->delete();
return;
}
if ($job->hasAttemptsLeft()) {
$this->jobs->release($job);
$laravelJob->release();
return;
}
$this->jobs->fail($job, 'Exception: ' . $e->getMessage());
$laravelJob->delete();
}
}
示例15: fire
public function fire(\Illuminate\Queue\Jobs\Job $job, array $data)
{
if (empty($data['product_id']) || empty($data['add_type_id']) || empty($data['add_profile']) || !is_array($data['add_profile'])) {
throw new \InvalidArgumentException('Job data missing product_id or add_profile');
}
$add_attributes = $data['add_profile'];
$add_attributes['product_id'] = $data['product_id'];
$add_attributes['add_type_id'] = $data['add_type_id'];
if (!$this->add_repo->create($add_attributes)) {
throw new \RunTimeException('Error saving Add to database: ' . $this->add_repo->errors());
}
$job->delete();
}