- $parameters = json_encode($argv);
- $found = q("SELECT `id` FROM `workerqueue` WHERE `parameter` = '%s'",
- dbesc($parameters));
+ if (get_config("system", "worker")) {
+ $argv = $args;
+ array_shift($argv);
+
+ $parameters = json_encode($argv);
+ $found = q("SELECT `id` FROM `workerqueue` WHERE `parameter` = '%s'",
+ dbesc($parameters));
+
+ if (!$found)
+ q("INSERT INTO `workerqueue` (`parameter`, `created`, `priority`)
+ VALUES ('%s', '%s', %d)",
+ dbesc($parameters),
+ dbesc(datetime_convert()),
+ intval(0));
+
+ // Should we quit and wait for the poller to be called as a cronjob?
+ if (get_config("system", "worker_dont_fork"))
+ return;
+
+ // Checking number of workers
+ $workers = q("SELECT COUNT(*) AS `workers` FROM `workerqueue` WHERE `executed` != '0000-00-00 00:00:00'");
+
+ // Get number of allowed number of worker threads
+ $queues = intval(get_config("system", "worker_queues"));