Source of file PublishItemsTask.php
Size: 1,114 Bytes - Last Modified: 2021-12-23T10:33:37+00:00
/var/www/docs.ssmods.com/process/src/src/Tasks/PublishItemsTask.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344 | <?php namespace Symbiote\QueuedJobs\Tasks; use Exception; use SilverStripe\Dev\BuildTask; use SilverStripe\ORM\DataObject; use Symbiote\QueuedJobs\Jobs\PublishItemsJob; /** * An example build task that publishes a bunch of pages - this demonstrates a realworld example of how the * queued jobs project can be used * * @author Marcus Nyeholt <marcus@symbiote.com.au> * @license BSD http://silverstripe.org/bsd-license/ */ class PublishItemsTask extends BuildTask { /** * {@inheritDoc} * @var string */ private static $segment = 'PublishItemsTask'; /** * @throws Exception * @param HTTPRequest $request */ public function run($request) { $root = $request->getVar('parent'); if (!$root) { throw new Exception("Sorry, you must provide a parent node to publish from"); } $item = DataObject::get_by_id('Page', $root); if ($item && $item->exists()) { $job = new PublishItemsJob($root); singleton('Symbiote\\QueuedJobs\\Services\\QueuedJobService')->queueJob($job); } } } |