1. Go to this page and download the library: Download phly/phly-redis-task-queue library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
phly / phly-redis-task-queue example snippets
namespace Foo;
class HelloWorldTask
{
public function __construct(
public readonly string $message
) {
}
}
interface MapperInterface
{
/**
* Can this implementation hydrate the given array type?
*
* @psalm-param array{__type: string, ...} $serialized
*/
public function handlesArray(array $serialized): bool;
/**
* Can this implementation extract the given object type?
*/
public function handlesObject(object $object): bool;
/** @return array{__type: string, ...} */
public function castToArray(object $object): array;
/** @psalm-param array{__type: string, ...} $serialized */
public function castToObject(array $serialized): object;
}
namespace Foo;
class HelloWorldListener
{
public function __invoke(HelloWorldTask $task): void
{
error_log(sprintf('Hello, %s', $task->message));
}
}
return [
'cron' => [
// Keys are not hours at the top of the hour
'schedule' => '0 */3 * * *',
'task' => '{"__type": "App\\\\Tasks\\\\FetchRssFeed", "url": "https://github.com/weierophinney", "headers": {"Accept": "application/atom+xml"}}',
],
'social' => [
// Fetch every 15 minutes
'schedule' => '*/15 * * * *',
'task' => '{"__type": "App\\\\Tasks\\\\FetchSocial"}',
],
],
];
return [
'redis-task-queue' => [
'mappers' => [
// Class names of mapper services that can map event types for serialization
],
// Float seconds interval between task runner invocations
'task_runner_interval' => 1.0,
'signals' => [
// Integer signals which indicate the task or cron runner should terminate.
// In some cases, you may not be able to listen to SIGKILL
// (e.g. running under a non-privileged user in supervisord)
SIGKILL,
SIGINT,
SIGTERM,
],
],
'cron' => [
'jobs' => [
/* Job definitions.
* These are each arrays, and can have a named index or not.
* Each has the following structure:
* [
* 'schedule' => '* * * * *', // valid cron schedule string
* 'task' => '{"__type": "...", ...}' // JSON serialization of task to run
* ]
*/
],
],
];
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.