Пример #1
0
        public async Task <IActionResult> UpdateQueueJob([FromRoute] string name, [FromForm] QueueJobViewModel model)
        {
            var job = await _jobService.FindAsync(name);

            if (job == null || job.GetJobType() != JobType.Queue)
            {
                return(NotFound());
            }

            if (!ModelState.IsValid)
            {
                return(View("QueueJobUpdateForm", model));
            }

            await _jobService.UpdateAsync(new QueueJobDefinition(model.Name)
            {
                Name             = model.Name,
                Enabled          = model.Enabled,
                OS               = model.OS.ToString(),
                CPU              = model.CPU,
                Memory           = model.Memory,
                Private          = model.Private,
                Image            = model.Image,
                EnvVariables     = model.EnvVariables,
                Queue            = model.Queue,
                ConnectionString = model.ConnectionString,
            });

            return(RedirectToAction("Definition", new { name = model.Name }));
        }
Пример #2
0
        public async Task <IActionResult> CreateQueueJob([FromForm] QueueJobViewModel model)
        {
            var job = await _jobService.FindAsync(model.Name);

            if (job != null)
            {
                ModelState.AddModelError(nameof(model.Name), "Conflict job name");
            }

            if (!ModelState.IsValid)
            {
                return(View("QueueJobForm", model));
            }

            await _jobService.AddAsync(new QueueJobDefinition(model.Name)
            {
                Name             = model.Name,
                Enabled          = model.Enabled,
                OS               = model.OS.ToString(),
                CPU              = model.CPU,
                Memory           = model.Memory,
                Private          = model.Private,
                Image            = model.Image,
                EnvVariables     = model.EnvVariables,
                Queue            = model.Queue,
                ConnectionString = model.ConnectionString,
            });

            _jobRegistry.Enqueue(model.Name);

            return(RedirectToAction("Definition", new { name = model.Name }));
        }