cachePrefix . "activity#{$activityId}"; if (! ($found = cache($cacheName))) { $found = $this->find($activityId); cache() ->save($cacheName, $found, DECADE); } return $found; } /** * Inserts a new activity record in the database * * @param Time $scheduledAt */ public function newActivity( string $type, int $actorId, ?int $targetActorId, ?string $noteId, string $payload, DateTimeInterface $scheduledAt = null, ?string $status = null ): BaseResult | int | string | false { return $this->insert( [ 'actor_id' => $actorId, 'target_actor_id' => $targetActorId, 'note_id' => $noteId, 'type' => $type, 'payload' => $payload, 'scheduled_at' => $scheduledAt, 'status' => $status, ], true, ); } /** * @return Activity[] */ public function getScheduledActivities(): array { return $this->where('`scheduled_at` <= NOW()', null, false) ->where('status', 'queued') ->orderBy('scheduled_at', 'ASC') ->findAll(); } }