Addition to Cronario which has already implemented the main types of Jobs and Workers: Curl, Sms, Mail, Hipchat
Via Composer
$ composer require cronario/messenger
// Curl
$ping = new \Messenger\Curl\Job([
'params' => [
'url' => 'https://example.com',
'method' => 'GET',
'expectCode' => 200,
],
'comment' => "ping each minute",
'schedule' => '* * * * *',
'isSync' => false,
]);
$result = $ping();
// Hipchat
$hipchat = new \Messenger\Hipchat\Job([
'params' => [
'token' => 'xxx',
'room' => 'MyRoom',
'from' => 'Test',
'msg' => 'text ...',
],
'comment' => "hipchat message",
'isSync' => false,
]);
$result = $hipchat();
// Sms
$sms = new \Messenger\Sms\Job([
'params' => [
'recipient' => '380670000000',
'sender' => 'SuperCompany',
'text' => "Hellow world!",
],
'comment' => "My first sms",
'isSync' => false,
]);
$result = $sms();
// Mail
$mail = new \Messenger\Mail\Job([
Job::P_PARAMS => [
'fromMail' => 'boss@example.com',
'fromName' => 'Big Boss',
'toMail' => "person@example.com",
'subject' => "Subject ...",
'body' => "Body ....",
],
'comment' => "My first mail",
'isSync' => false,
]);
$result = $mail();
$ping = new \Messenger\Curl\Job([
'params' => [
'url' => 'https://example.com',
'method' => 'GET',
'expectCode' => 200,
],
'comment' => "get something",
'callback' => [
'onSuccess' => [
new \Messenger\Sms\Job([
'params' => [
'recipient' => '380670000000',
'sender' => 'SuperCompany',
'text' => "Hellow world!",
],
'comment' => "My callback sms",
'callback' => [
/* ... */
]
])
]
]
]);
$ping();
$ composer test
The MIT License (MIT). Please see License File for more information.